刚使用SPRING,在程序中使用了事务管理。
下面是在SimpleService里调用的addError()方法,在2出产生的异常并没用回滚1处的数据,希望各位指导下哪里出了问题,谢谢
public void addError() throws Exception {
SimpleDao dao = new SimpleDao(getDataSource());
dao.addRightInfo();//1---插入正确记录
dao.addErrorInfo();//2---插入错误记录
PS:在dao中使用的是NamedParameterJdbcTemplate类操作数据,是否数据已经提交无法再回滚了?
下面是主要的配置
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean name="transactionInterceptorBeanGroup"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="modify*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>simpleService</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptorBeanGroup</value>
</list>
</property>
</bean>
<bean id="simpleService" class="test.SimpleService">
<property name="dataSource" ref="dataSource" />
</bean>
分享到:
相关推荐
在Spring框架中,事务管理是...解决这类问题需要从各个角度排查,确保每个环节都符合Spring事务管理的要求。对于具体的代码问题,建议参考官方文档、相关教程和社区讨论,如给出的博客链接,来获取更详细的解答和示例。
- 在多数据源的场景下,Spring通过DataSource接口管理多个数据源,可以配置不同的数据源bean,使得不同的业务模块能够连接到对应的数据库。 2. **SpringMVC的角色**: - SpringMVC作为Spring的Web模块,主要负责...
7. **事务管理**:理解Spring的声明式事务管理,如何在需要的地方开启和提交事务。 8. **权限控制**:实现基于角色的访问控制(Role-Based Access Control, RBAC),对用户操作进行权限校验。 9. **页面模板**:使用...
- 后台管理设计:后台界面用于系统管理,系统管理员负责全局,站内信息管理包括公告发布等,考研资源模块管理上传与审核,教师指导管理处理请教问题,交流沟通管理监控论坛活动。 - 数据库设计:MySQL数据库用于...
Spring框架提供了IOC(控制反转)和DI(依赖注入),简化了对象的管理和事务处理,并引入了AOP,用于处理横切关注点,如日志、安全等。Hibernate作为ORM(对象关系映射)框架,使得开发者可以使用面向对象的方式来...
Spring还包含了数据访问、事务管理、Web应用以及更多的功能模块。 **Struts框架**: Struts是MVC(Model-View-Controller)设计模式的实现,主要用于控制应用程序的流程。它负责接收HTTP请求,调度业务逻辑,处理...
Struts是MVC设计模式的实现,负责表示层,Spring则处理业务逻辑层,提供了ICO(控制反转)和AOP(面向切面编程),并支持事务管理和与其他框架的集成。Hibernate作为持久层框架,实现了对象与关系数据库之间的映射,...
通过这种形式,开发者可以向同行请教问题,分享代码示例,讨论最新趋势,甚至合作开发项目。邮件列表的开放性使得信息共享变得容易,同时也可以形成持久的技术档案,供后来者查阅。 提到"dsmaiil"这个文件,这可能...
- **考核点**:熟悉企业常用技术栈(如Spring、MySQL、MQ、Redis等),了解微服务架构、分布式事务处理、高并发场景下的解决方案。 - **考核基准**: - 初级:了解Spring框架的基本用法,能够使用MySQL进行简单CRUD...
EJB提供了事务管理、安全性、容错性等功能,而JPA则让开发者能以面向对象的方式操作数据库。 7. **Maven或Gradle构建** 项目可能采用Maven或Gradle作为构建工具,管理项目依赖和构建流程。`pom.xml`(Maven)或`...
JNDI(Java Naming and Directory Interface)与EJB(Enterprise JavaBeans)结合使用,EJB是J2EE中的企业级组件,用于处理分布式计算和事务管理。 学习EJB时,可以参考《精通EJB》一书。同时,理解并运用设计模式...