ssh整合(便于以后查询)3
五、组合开发中的一些问题:
1、在组合开发中,常见的一个问题就是session的管理,当我们使用HibernateTemplate操作数据库时,可以不对session进行显示的操作,spring可以自动处理session的打开与关闭。
我们可以在web.xml文件中显示的配置一个session管理的过滤器,它专门帮助我们关闭session:
Xml代码
<filter>
<filter-name>lazyLoadingFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>lazyLoadingFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
注:它一定要在struts2的过滤器之前。因为web.xml文件的过滤器执行是有顺序的。而session一定在前面进行。
它会在所有的action处理完了,页面显示完了,就会自动关闭session。
六、spring事务处理
1、事务的处理也交给了spring来管理,要在applicationContext.xml文件中上配置事务管理类:
Xml代码
//实施事务管理的bean
<bean id=”transactionManager”
class=”org.springframework.orm.hibernate3.HibernateTransactionManager”>
<property name=”sessionFactory”>
<ref bean=”sessionFactory” />
</property>
</bean>
它是通过sessionFactory来管理,因此在传进来一个sessionFactory来接管事务处理。