spring+hibernate+struts2整合方案(1)
Struts2和Spring的整合:
1. 添加jar包(注意包冲突), 另外需要注意一定要加入struts2-spring-plugin.jar包
2. 添加各自的支持文件(struts.xml和applicationContext.xml)
3. 配置web.xml
(1) 配置spring初始化所需要的启动参数(可以使用通配符,如有多个文件可用,隔开)
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
(2) 配置spring上下文监听器(主要用于在启动时产生WepApplicationContext对象)
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
(3) 配置struts2的过滤器
4. 开发各层的实现代码.
5. 在applicationContext.xml中配置各个bean, 需要注意的是action Bean的配置与其它Bean一样.
6. 在struts.xml中配置Action, 其余的与以前一样,只需要将class的值设置成我们在spring中配置的action
Bean的id即可。
Spring和Hibernate的整合:
1. 添加相应的支持jar包.
2. 添加相应的支持文件.
3. 在spring的配置文件中来配置Hibernate的SessionFactory对象,并将Hibernate的核心配置文件
作为其属性的值。也可以不要hibernate的核心配置文件,所有的映射信息都配置到spring中,但这样
会加大编码的难度,所以一般我们很少使用这种方式。
<!-- 配置sessionFactory对象 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 导入hibernate的核心配置文件 -->
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
4. 编写数据访问类 Dao, 要求该DAO直接或间接继承自HibernateDaoSupport, 我们可以使用
这个类中的hibernateTemplate这个属性来进行数据的各种操作,这个模板对象会帮助我们
完成哪些没有技术含量的共有操作。
5. 配置我们的Dao,注意在配置的时候需要配置sessionFactory属性.
6. 配置OSIV过滤器(解决session已关闭问题)