SSH整合小结

Spring与Hibernate的整合

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

所有Bean概览

事务管理和DataSource数据源的Bean

会话工厂和Hibernate模板的Bean

Spring与Struts2的整合

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

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

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

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

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

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

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

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

 

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

你可能感兴趣的:(SSH整合小结)