SSH整合(简要步骤)

所谓ssh整合其实就是用Spring来管理Struts2以及Hibernate,通过依赖注入的方式。

1.整合原理图(对象的依赖关系图)

2.导入jar包

    a. 整合web项目的spring-web包

    b. Hibernate核心包

    c. struts2核心包,以及使用struts2注解时用到的注解包和整合spring用到的struts-spring插件包

    d. spring核心包(4+2),以及用到的事务、aop等。。。

    e. 数据库驱动及c3p0连接池

                        (根据个人需要添加对象的jar包)

3. 整合web项目

    a. 创建applicationContext.xml  并导入约束  (beans、context、aop、tx)

    b. 在web.xml中配置监听器(使用ContextLoaderListener),目的是为了让spring容器跟随项目的启动而创建(因为spring容器要管理,所有的对象,所以他的作用域必须足够大)

4. 整合struts2(spring负责action的创建以及组装)    

组装(action中用到的对象,也由spring注入,service层)            

a. 开启 spring 对象工厂  (struts.xml)

    <constant name="struts-objectFactory" value="spring" />

b. 将action以及action所依赖的对象配置进spring容器中(可以参考文章开头原理图)

    <bean name="action" class="类的全限定名" />

    <bean name="service" class="类的全限定名" />  (添加进容器后就可以在我们的程序中使用了,可以使用注解的方式,注入进来,这里只给一个演示,演示部分只限以上方式的配置)

c. 这时我们的struts.xml中,action的class属性就不能用原来的方式配置了(既然我们已经将action对象配置到spring容器中了,这时就可以直接用spring中action对象的名字来代替之前的写法)

5.整合hibernate

(将hibernate.cfg.xml中的配置,改写到applicationContext.xml中)

a. 配置c3p0连接池

                   src目录 db.properties文件

b. 配置sessionFactory

c. 测试

6. 配置AOP事务

a. 事务管理器

b. 事务通知

c. 配置切面(切点合通知)

7. 解决no-session问题(扩大session的作用域)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容