码迷,mamicode.com
首页 > 编程语言 > 详细

怎么搭建框架(ssh:Hibernate3.6+Spring2.5+Struts2.1.8)

时间:2015-09-16 12:33:37      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

*1. 导包
        >1. Hibernate3.6
            *1. 核心包:hibernate3.jar
            *2. 必须要的包:在required文件夹下
                >1. 语言识别的其他工具,解析hql语句用的:antlr-2.7.6.jar
                >2. 通用的操作集合的包,这个是Apache组织的:commons-collections-3.1.jar
                >3. 操作xml文件的包:dom4j-1.6.1.jar
                >4. 操作字节码的包:javassist-3.12.0.GA.jar
                >5. 用到事务时要使用的包:jta-1.1.jar
                >6. 做日志用的包,这里用Spring开发包中提供的slf4j做日志:
                    *slf4j-api-1.5.0.jar
                    *slf4j-log4j12-1.5.0.jar
            *3. 支持jpa(Java持久化规范的包),在jpa文件夹下:hibernate-jpa-2.0-api-1.0.0.Final.jar
            
            *4. 组合连接池:c3p0-0.9.1.jar
        >2. Spring2.5:在开发文档的lib目录下
            *1. dist文件夹下的,Spring核心包:spring.jar
            *2. aspectj文件夹下的:AOP(面向切面编程)要用的:
                 >aspectjrt.jar 
                 >aspectjweaver.jar
            *3. cglib文件夹下的,动态代理包:cglib-nodep-2.1_3.jar
            *4. jakarta-commons文件夹下的,日志包:commons-logging.jar
            *5. jakarta-commons文件夹下的,通用工具jar包,在:
                 >commons-codec.jar:做md5加密用的
                 >commons-lang.jar:包含了一些数据类型工具类
                 >commons-fileupload.jar:文件上传
                 >commons-io.jar: 输入输出数据流的读写功能
        >3. Struts2.1.8:
            注:
            *导这个框架包最简单了,就是可以在struts2-blank-2.1.8.1.war中解压之后就可以找到
             lib库中的包导入即可.
            *再导入和Spring框架整合的包:struts2-spring-plugin-2.1.8.1.jar
            
           >4. 数据库的驱动包:例如如果是MySQL的话:mysql-connector-java-5.1.7-bin.jar
           注:
              *导包切忌包的版本冲突或者是漏掉某些包没有导入。
          *要用到json数据时要导入到包:struts2-json-plugin-2.3.4.1.jar

    *2. 配置
        >1. hibernate配置:配置文件hibernate.cfg.xml
            <?xml version="1.0" encoding="utf-8"?>
            <!DOCTYPE ...>
            <hibernate-configuration>
                <session-factory>

                    <!--数据库配置信息-->
                    <property name="connection.url" value=""/>
                    <property name="connection.driver_class" value=""/>
                    <property name="connection.username" value=""/>
                    <property name="connection.password" value=""/>
                    <property name="connection.Dialect" value=""/>

                    <!--数据库连接池配置-->
                    <property name="c3p0.initialPoolSize" value=""/>
                    <property name="c3p0.minPoolSize" value=""/>
                    <property name="c3p0.maxPoolSize" value=""/>
                    <property name="c3p0.CheckoutTimeout" value=""/>
                    ...

                    <!--一般的属性,比如是否显示sql语句,是否可以从hibernate映射文件到数据库表的关联-->
                    <property name="show_sql" >true</property>
                    <property name="hbm2ddl.auto" >update</property>
                    
                    <!--导入hibernate映射文件-->
                    <mapping resource="" />

                    <!--二级缓存的配置,可选-->
                    <property name="hibernate.cache.use_second_level_cache" >true</property>
                    <property name="hibernate.cache.provider_class" ></property>
                    <class-cache usage="" class=""/>
                    <class-cache usage="" class=""/>
                </session-factory>
            </hibernate-configuration>
        >2. Spring配置
            <?xml version="1.0" encoding="utf-8" ?>
            <!--这里的头文件要注意别导错了,用到的就需要导入,建议应开发工具导入或者是直接从
                开发包中导入文件头,包括beans(JavaBean对象),tx(事务),context,aop头文件
            -->
            <beans ...>
                
                <!--使用注解扫描-->
                <context:component-scan base-package=""></context:component-scan>

                <!--配置SessionFactory
                    实现类为:LocalSessionFactoryBean    
                -->
                <bean id="" class="">
                    <property name="" value=""/>
                </bean>
                
                <!--配置事务管理器TransactionManager
                    实现类为:HiberanteTransactionManager
                -->
                <bean id="" class="">
                    <property name="" ref=""/>
                </bean>

                <!--配置事务注解驱动-->
                <tx:annotation-driven transaction-manager=""/>
            </beans>
        >3. Struts配置:
            <?xml version="1.0" encoding="utf-8" ?>
            <!DOCTYPE...>
            <struts>
                <!--配置为开发模式-->
                <constant name="" value="" />
                <!--配置页面的显示主题-->
                <constant name="" value="" />
                <!--配置行为的扩展名,也可以不配置,默认为.action-->
                <constant name="" value="" />

                <!--配置装载行为或者是拦截器的包
                    其中名字属性name就是用来继承的
                -->
                <package name="" namespace="/" extends="struts-default">

                    <!--配置拦截器-->
                    <interceptors>
                        <!--声明一个拦截器-->
                        <interceptor name="" class=""></interceptor>
                            
                        <!--配置自定义默认拦截器栈-->
                        <interceptor-stack name="defaultStack">
                            <interceptor-ref name="" ></interceptor-ref>
                            <interceptor-ref name="" ></interceptor-ref>
                        </interceptor-stack>
                    </interceptors>
                    
                    <!--配置行为-->
                    <action name="" class="" method="">
                        <result name=""></result>
                    </action>
                </package>
            </struts>
            注:对于到底是使用单标签,还是双标签??

    *3. 使用(测试)
        
        >1. Spring测试
            //测试类:SpringTest
            public class SpringTest{
                //1. 依赖应用程序环境:ApplicationContext,来获取Spring工厂中的对象bean
                //2. 测试会话工厂SessionFactory
                //3. 测试事务Transaction
            }
        >2. Struts测试
            //测试类:ActionTest
            public class ActionTest extends ActionSupport{

                //依赖Spring对象工厂中的测试service,类:ServiceTest
                
                //测试执行中转数据的方法,默认的方法为execute
                @Override
                public String execute(){
                    //依赖ServiceTest操作数据
                }
            }
        >3. 操作数据要依赖的Service,测试类:ServiceTest
        public class ServiceTest{
            //依赖会话工厂SessionFactory
            
            //操作数据的方法,例如:saveUsers
            public void saveUsers(){
                
            }
        }
            
    注:
        *这三个框架的整合,其实Spring框架就是其他两个框架的粘合剂,在Spring对象工厂中管理着Hibernate
         框架的会话工厂和事务管理器的创建,以及管理着Struts框架中的行为Action的创建。
        *至于是否使用注解还是用xml配置文件,注解简单是趋势,但是有的地方还是要用到xml配置文件的。所以
         这两个要配合着使用。

 

怎么搭建框架(ssh:Hibernate3.6+Spring2.5+Struts2.1.8)

标签:

原文地址:http://www.cnblogs.com/liaowanzhong/p/4812810.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!