关于spring的两个拦截器的有关问题
关于spring的两个拦截器的问题
因为对spring,hibernate的研究都不深,只是停留在最基本的应用上,现在到公司,感觉在配置上有些不同,以前都是用spring的声明性事务管理的,现在公司的框架没有用这个,我也看到论坛中有人说了,声明性事务管理不灵活,性能也不好,公司是用了两个拦截器,HibernateInterceptor和org.springframework.transaction.interceptor.TransactionInterceptor,为每个DAO加一个
HibernateInterceptor,然后为每个service增加这两个拦截器,以前没有用过这种方式,网上这么用的也比较少,看了看他们的源代码,当然我现在的理解能力还不行,始终没明白,这样配置后事务管理究竟在什么时候做的?哪位指教一下
因为对spring,hibernate的研究都不深,只是停留在最基本的应用上,现在到公司,感觉在配置上有些不同,以前都是用spring的声明性事务管理的,现在公司的框架没有用这个,我也看到论坛中有人说了,声明性事务管理不灵活,性能也不好,公司是用了两个拦截器,HibernateInterceptor和org.springframework.transaction.interceptor.TransactionInterceptor,为每个DAO加一个
HibernateInterceptor,然后为每个service增加这两个拦截器,以前没有用过这种方式,网上这么用的也比较少,看了看他们的源代码,当然我现在的理解能力还不行,始终没明白,这样配置后事务管理究竟在什么时候做的?哪位指教一下
1 楼
robbin
2006-09-13
在每个DAO和Service方法执行前后拦截
2 楼
dream实现
2006-09-13
意思是说在每个service,dao前后进行拦截,那为什么都配置呢?如果是在拦截的前后加上对事务的处理,只配置service或者dao就可以了啊?并且这两个拦截器的作用有什么不同呢?
3 楼
dada
2006-09-13
HibernateInterceptor和TransactionInterceptor作用不同。HibernateInterceptor实现的功能和ibernateTemplate差不多,我觉得比之HibernateTemplate它唯一的优势大概就是没有匿名类让代码更加美观了。在数据访问中抛出CheckedException的优势,几乎可以忽略不计。
4 楼
freizl
2006-10-12
应该可以用aop的实现 来设置拦截dao的方法还是service的方法吧。
这样做的前提是所有的service也申明在spring的applicationContext.xml里。
<bean id="autoproxysession" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="frozen" value="true" /> <property name="proxyTargetClass" value="true" /> <property name="interceptorNames"> <list> <value>sessionInterceptor</value> </list> </property> <property name="beanNames"> <list> <value>*Service</value> </list> </property> </bean> <bean id="sessionInterceptor" class="org.springframework.orm.hibernate3.HibernateInterceptor"> <property name="sessionFactory" ref="sessionFactory" /> </bean>
这样做的前提是所有的service也申明在spring的applicationContext.xml里。
5 楼
galaxystar
2006-10-12
spring2.0的集成静态织入,喜欢这个!喜欢aspectJ!