SSH整合小结

Spring与Hibernate的整合

单独使用Hibernate时,它的xml配置文件中即包括数据库驱动和连接信息还有Hibernate自身特有的对其他技术的支持。Spring整合Hibernate后,只有Spring配置文件。在Spring配置文件里分离出来了DataSource数据源,再通过配置 sessionFactory标签设定Hibernate的参数。一般为了方便而使用Spring提供的 HibernateTemplate类完成原来SessionFactory的作用,所以一般添加一个HibernateTemplate类型的Bean。另外不可或缺的是事务管理Bean。配置文件的内容见下:

所有Bean概览

SpringHibernate

事务管理和DataSource数据源的Bean

ds_tmgr

会话工厂和Hibernate模板的Bean

sf_ht

Spring与Struts2的整合

从Struts原理开始吧:Struts中基本的配置是Action,在Struts.xml文件中通过对action标签的name和Class还有result标签的设置就基本构成了MVC的结构。部署前在Web.xml文件中添加的Filter

struts2_filter

它的作用是在把页面请求交给Servlet处理前截获它把它交给Struts2处理:页面请求经过层层过滤最后是Struts容器对 Struts.xml文件中Action映射,根据请求的action名和method生成调用对应的Action对象并执行对应method方法,方法调用完返回result再转到显示页面。

struts2_action

整个过程可以猜出Action对象的产生也是根据反射机制实现的,由Struts2容器单独完成Action的管理也挺直接,职责独立。不过有些时候需要应用到Spring Aop技术,以便在Spring中管理Action对象实现Struts2中很难实现的功能。所以这种情况下就需要由Spring容器完成对Struts2中Action对象的管理。

     Spring与Struts2整合通俗的说(一面之词):原来有两个容器Spring和Struts2,它们各自管理自己的对象。现在Struts2想把自己的对象交有更专业的容器Spring来管理。两容器于是有了合作,合作前需要声明合作事项:

Struts2容器生产对象的地方现在交由Spring管理,需要在Struts.xml文件里添加如下常量:

Struts2_factory

Spring因为需要管理其它容器的对象,所以配置了动态响应其他容器要求的侦测器即在Spring配置文件里添加:

springListener

整个过程的实现则由中介者"struts2-spring-plugin-2.2.1.1.jar"实现即在工程里引入该包。

重新部署工程,查看到如下控制台信息说明整合成功Struts2中的Action对象就已经由Spring管理了。

integrationResult 

一句话总结:Spring是核心--它可以综合管理其它框架里的对象,深入的话使用Spring Aop技术进行更高级的应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值