Spring 版本是 3.1
Hibernate 是 4.1.4 final
我想使用spring的BeanNameAutoProxyCreator将Service结尾的bean里面的一些方法自动开启事务
相关配置如下
<bean id="userService" class="test.service.impl.UserServiceImpl">
<property name="userDAO">
<ref local="userDAO"/>
</property>
</bean>
<bean id="userDAO" name="userDAO" class="test.dao.impl.UserDAO">
<property name="session" ref="session" />
</bean>
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="save">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<value>*Service</value>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
---------------
补充:
bean配置都正常的,而我再测试类直接取session自己开启事务保存是可以写到数据库
而取userService.save方法,里面有userDAO.save方法,但是因为没开启事务,所以没有写到数据库,也没有相关的SQL语句打印出来!
Hibernate 是 4.1.4 final
我想使用spring的BeanNameAutoProxyCreator将Service结尾的bean里面的一些方法自动开启事务
相关配置如下
<bean id="userService" class="test.service.impl.UserServiceImpl">
<property name="userDAO">
<ref local="userDAO"/>
</property>
</bean>
<bean id="userDAO" name="userDAO" class="test.dao.impl.UserDAO">
<property name="session" ref="session" />
</bean>
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="save">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<value>*Service</value>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
---------------
补充:
bean配置都正常的,而我再测试类直接取session自己开启事务保存是可以写到数据库
而取userService.save方法,里面有userDAO.save方法,但是因为没开启事务,所以没有写到数据库,也没有相关的SQL语句打印出来!
解决方案 »
- SSH框架整合问题
- java Socket编程
- 邮件接收
- 这是什么意思???
- JDBC中的ResultSet是否需要在每次用完后关闭呢?不关闭有什么影响?在PreparedStatement批量查询时,每次关闭ResultSet是否影响性能?
- 用Hibernate时,什么叫“把类关系打断”?
- 请编写程序,将0 3 5 8 4 6 7 9 1 2写入文件test.dat,然后从test.dat读出并输出到控制台。
- jboss下配置struts
- 我在装了jdk和tomcat4.1后,启动startup.bat,提示“找不到文件“-Djava.endorsed.dirs=”(或它的组件之一)。请确定路径和文件名是否正确
- 只会Java基础数据库能否找到工作
- mybatis sql语句获取不到参数
- 小弟不才,问个小问题,请高手解答,谢绝乱贴
<value>*Service</value>
</property>
改为:
<property name="beanNames">
<list>
<value>*Service</value>
</list>
</property>
问便所有群没有一个人出来回答。按照书上配压根就不行。
中国这么大怎么连个像样的程序员都没个站出来?还是我RP太差了?