Code Bye

SpringMVC注解事物管理

<!– Hibernate使用的SessionFactory –>
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean”>
<!– 数据源配置 –>
<property name=”dataSource” ref=”dataSource” />

<!– Hibernate配置 –>
<property name=”hibernateProperties”>
<props>
<prop key=”hibernate.dialect”>${hibernate.dialect}</prop>
<prop key=”hibernate.hbm2ddl.auto”>update</prop>
<prop key=”hibernate.show_sql”>true</prop>
<prop key=”hibernate.format_sql”>true</prop>
</props>
</property>

<!– 配置注解实体类 –>
<property name=”packagesToScan”>
<list>
<value>com.cnwir.vtime.admin.model</value>
<value>com.cnwir.vtime.weixin.model</value>
<value>com.cnwir.vtime.IMC.model</value>
<value>com.cnwir.vtime.webapp.model</value>
<value>com.cnwir.vtime.serviceTool.model</value>
<value>com.cnwir.vtime.wap.model</value>
<value>com.cnwir.vtime.shop.model</value>
<value>com.cnwir.vtime.mysql.model</value>
</list>
</property>
</bean> 

<!– 事务管理 –>
<bean id=”txManager” class=”org.springframework.orm.hibernate3.HibernateTransactionManager”>
<property name=”sessionFactory” ref=”sessionFactory” />
</bean>
         <tx:annotation-driven transaction-manager=”txManager” />

我都这样配置了,但是出现异常的时候,事物没有回滚,我该怎么改才,事物管理才可以起作用??

<tx:annotation-driven transaction-manager=”txManager” />这个配置放到springmvc的配置文件里。
引用 1 楼 fangmingshijie 的回复:

<tx:annotation-driven transaction-manager=”txManager” />这个配置放到springmvc的配置文件里。

放在springmvc-servlet.xml 里面?   不是放在applicationContext.xml里面?

少了事物通知和切点配置:
<tx:advice id=”txAdvice” transaction-manager=”transactionManager”>
<tx:attributes>
<tx:method name=”find*” read-only=”true” />
<tx:method name=”del*” read-only=”false” />
<tx:method name=”add*” propagation=”REQUIRED” />
<tx:method name=”save*” propagation=”REQUIRED” />
<tx:method name=”update*” propagation=”REQUIRED” />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut expression=”execution(public * com.cnwir.mm.service..*.*(..))”
id=”myPointcut” />
<aop:advisor advice-ref=”txAdvice” pointcut-ref=”myPointcut” />
</aop:config>
—————————————————————————————————
你是在做V时代项目吧,杨总还好吗?

12分
applicationContext.xml里有没有:
<context:component-scan base-package="包名"/>

包名控制到service层


20分
引用 2 楼 u010215231 的回复:
Quote: 引用 1 楼 fangmingshijie 的回复:

<tx:annotation-driven transaction-manager=”txManager” />这个配置放到springmvc的配置文件里。

放在springmvc-servlet.xml 里面?   不是放在applicationContext.xml里面?

两个地方最好都放  从web页面来的请求 优先加载springmvc-servlet.xml 里的配置 
从其他的地方的请求 比如job  则会用到applicationContext.xml 

都今天了还在用spring,尤其是事务管理,根本不能用,死锁数据源。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明SpringMVC注解事物管理