`
maciby
  • 浏览: 3649 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

求助! spring 事务问题????

阅读更多
我想问的问题:

事务模板配置:
<bean id="txProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="set*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>

两个service配置:

<bean id="businesswordService" parent="txProxyTemplate">
<property name="target">
<bean class="com.spring.service.impl.SBusinesswordService" autowire="byName" />
</property>
</bean>

<bean id="searchService" parent="txProxyTemplate">
<property name="target">
<bean class="com.spring.service.impl.SearchService" autowire="byName" />
</property>
</bean>

我在searchService的一个方法里面
1、有自己的保存实体的操作
2、调用businesswordService里的一个方法保存实体

现在假如我在操作第二个功能的时候,报错了,怎么让第一个操作也回退?

希望大家能帮我,教我怎么配置这个事务?

谢谢了 
分享到:
评论
5 楼 maciby 2007-01-08  
不好意思,现在有一个新的问题了?



一个BaseService和接口IBaseService

一个ExcelService(继承BaseService)和接口IExcelService(继承IBaseService)


实现的功能是:

从Excel文件导入数据,文件中的一行,插入数据库中一条记录

在ExcelService中有个方法

public void importData(Sheet sheet){
    int rows = sheet.getRows();
    for(int i=0;i<rows;i++){
        SUser user = new SUser();
        ....
        this.save(user);//这个方法是BaseService中实现的
    }
}

现在假如Excel文件中的中间某一行记录插入失败的话,我想整个事务回滚到调用前的状态?

现在我配置的事务不起作用,前面几条记录,已经成功插入到数据库了?

事务,太难了 !!!
4 楼 giscat 2007-01-08  
service方法不应该互相调用
3 楼 galaxystar 2007-01-08  
用spring的嵌套事务!
http://www.iteye.com/topic/35907
feiing的帖子讲得很详细!
2 楼 ahuaxuan 2007-01-08  
PROPAGATION_REQUIRED是指如果存在已有事务则使用当前事务,否则开启一个新事务,但是从目前的情况来看楼主的事务配置是正确的呀,就是说如果方法抛出异常,那么整个方法都要回滚的,因为这个方法只开启了一个事务,即businesswordService里的保存实体的方法并没有开启新事务,不过楼主没有把代码贴出来可能影响我们的判断结果,如果可以的话楼主把代码贴出来看看
1 楼 daoger 2007-01-08  
重写一个server方法,将你的两个操作放在里面!我觉得应该行,没试过!

建议将server独立,别相互调用!

相关推荐

    struts2和spring3注解整合问题

    - **Spring3**:提供了强大的DI和AOP功能,用于管理bean和控制事务。Spring3也支持注解驱动的配置,使得无需XML即可配置bean。 2. **整合步骤** - 首先,需要在项目中引入Struts2和Spring3的相关库。 - 在Spring...

    Spring+Struts2 整合测试

    此外,Spring还提供了事务管理、数据访问集成、AOP等模块。 2. **Struts2框架**:Struts2基于MVC设计模式,负责处理HTTP请求,将用户界面与业务逻辑分离。它的核心是Action类和Result,Action负责处理请求,Result...

    struts2+spring+hibernate

    Struts2、Spring和Hibernate是Java Web开发中的三大主流框架,它们组合在一起可以构建出高效、灵活的企业级应用程序。这个“struts2+spring+...如果你在使用过程中遇到问题,可以通过提供的QQ群进行交流和求助。

    SSH整合问题

    如果问题仍然无法解决,可以尝试在专业论坛或社区发帖求助,提供详细的问题描述和相关代码片段,以便他人能更好地理解并帮助解决问题。 在实际开发过程中,SSH整合的难度在于理解和协调各个框架之间的交互,以及...

    我的破程序和求助说明

    5. **数据库操作**:如果程序涉及到数据库交互,SQL查询的正确性、事务处理、索引优化和数据库设计可能是问题的源头。 6. **版本控制**:使用Git等版本控制系统是现代开发的标准。理解分支、合并、回退等概念可以...

    SSH_框架整合

    SSH框架整合是Java Web开发中常见的一种技术组合...如果在整合过程中遇到问题,可以通过查阅文档、社区资源或向有经验的开发者求助来解决问题。在实际应用中,还需要考虑安全性、性能优化等因素,以构建更健壮的系统。

    基于SSM校园帮项目/校园即时服务平台

    在本项目中,Spring可能用于实现用户认证、权限控制、事务管理等功能。 **2. Spring MVC** Spring MVC是Spring框架的一个模块,专门处理Web请求。它负责接收HTTP请求,调度控制器,执行业务逻辑,并将结果返回给...

    ssH三大框架的整合教材

    描述中提到的"流程"问题,指的是整合过程中需要遵循的一系列步骤,包括导入框架库、配置web.xml、编写struts.xml、hibernate.cfg.xml和spring配置文件等。jar的错误通常是指引入的库版本不正确或重复,可能导致类...

    计算机毕业实习日记34篇..pdf

    在解决数据库加载失败的问题时,实习生通过多种途径,包括论坛求助和同学指导,最终找到了问题的解决办法,这可能涉及到SQL Server的更新、数据库连接配置的准确性,以及服务器版本的兼容性等问题。 这个实习过程...

    java+vue基于springboot+vue基于java的的城市公交调度系统毕业论文.docx

    为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,然后线上管理系统也就相继涌现。基于这种情况,我们需要一个界面简单大方、功能齐全的系统来解决用户问题,满足用户需求。 本系统...

    计算机专业毕业实习日记.docx

    通过学习和求助,这些问题得到了解决,更换为MySQL数据库后,虽然遇到了新的挑战,如数据库备份和还原的操作差异,但这也激发了学习新知识的热情。 总的来说,实习经历不仅让实习生熟悉了三大框架的应用,还锻炼了...

    基于SSM的学业帮扶管理系统源码.zip

    在本项目中,Spring负责管理整个应用的bean,包括数据库连接池、事务管理器以及业务服务接口和实现等。此外,Spring还提供了一些用于Web开发的模块,如Spring MVC。 2. **Spring MVC**:Spring MVC是Spring框架的一...

    SSH配置详细步骤及异常处理

    4. 网络搜索和社区求助:遇到疑难问题,可以在Stack Overflow等技术论坛上寻找解决方案。 总的来说,SSH配置需要对Java、XML配置和Web开发有一定的理解。通过细心配置和处理异常,可以构建出稳定且易于维护的企业级...

    weixin138社区互助养老+ssm(源码+部署说明+演示视频+源码介绍+lw).rar

    Spring:一个轻量级的Java开发框架,用于实现项目的依赖注入、事务管理等功能。 SpringMVC:一个基于MVC设计模式的Web框架,用于处理HTTP请求,实现前后端分离。 MyBatis:一个持久层框架,用于实现数据库的增删改查...

    S2SH不完整版

    【标题】"S2SH不完整版" 涉及的知识点主要集中在Struts2、Spring和Hibernate(简称S2SH)...同时,社区求助也是解决此类问题的有效途径,可以尝试在Stack Overflow或其他开发者论坛上发布问题,寻求同行的帮助和建议。

    ssh_employee

    - **社区求助**:如果问题仍然无法解决,可以在Stack Overflow等开发者社区提问,寻求其他开发者的帮助。 4. **最佳实践**: - **合理设计数据模型**:避免过度级联,以防止数据冗余和不必要的复杂性。 - **明确...

    基于ssm+vue的社区互助平台演示.zip

    它与Spring结合,可以实现事务管理和其他高级功能。 5. **Vue.js前端框架** Vue.js是一款轻量级的前端MVVM框架,以数据驱动和组件化为核心。其特点是易学易用,同时提供了强大的模板语法和响应式数据绑定,适合...

    java多种帮助

    此外,如果遇到问题,描述中的邮箱地址提供了额外的求助途径。 在学习过程中,建议从基础概念开始,逐步理解每个框架的核心原理,然后通过实践项目来巩固理论知识。对于初学者,可以从简单的Hello World程序入手,...

    计算机java实习日记 (2).docx

    根据给定的文件信息,我们可以从中提取并展开多个与Java实习相关的知识点,包括但不限于实习初期的心理状态调整、解决技术问题的过程、与客户的沟通技巧以及Java Web开发中的关键技术框架(Struts、Spring 和 ...

    MHSpringEvent:在线浏览器游戏的Spring活动

    这在需要长时间在线或频繁交互的活动中尤其有用,它节省了玩家的时间,让玩家可以专注于其他游戏策略或现实生活中的事务。 接下来,让我们探讨如何使用MHSpringEvent。首先,玩家需要下载并解压MHSpringEvent-...

Global site tag (gtag.js) - Google Analytics