0 0

求解释spring事物详细,代码已帖5

这是控制事物:
哪位同学帮我解释下,关于里面的属性都有什么用处,还有再处理批处理的时候,假设有10条数据,保存一半就报错了,但是有5条能存入,然后返回失败的原因,做好有service层代码例子让我看看,谢谢啦。
<bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
    <property name="dataSource" ref="dataSource"></property>
</bean>

<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="delete*" propagation="REQUIRED" read-only="false"
           rollback-for="java.lang.Exception"/>
<tx:method name="insert*" propagation="REQUIRED" read-only="false"
           rollback-for="java.lang.Exception" />
<tx:method name="update*" propagation="REQUIRED" read-only="false"
           rollback-for="java.lang.Exception" />
<tx:method name="save*" propagation="REQUIRED" read-only="false"
           rollback-for="java.lang.Exception" />
<tx:method name="*" propagation="REQUIRED" read-only="true"/>
</tx:attributes>
</tx:advice>

<aop:config>
<aop:pointcut id="pc" expression="execution(* com.flf.service..*(..))" />
<aop:advisor pointcut-ref="pc" advice-ref="txAdvice" />
</aop:config>
2014年5月22日 22:19

1个答案 按时间排序 按投票排序

0 0

采纳的答案

<tx:advice>:事务通知定义,用于指定事务属性,其中“transaction-manager”属性指定事务管理器,并通过< tx:attributes >指定具体需要拦截的方法;
 <tx:method name="save*">:表示将拦截以save开头的方法,被拦截的方法将应用配置的事务属性:propagation="REQUIRED"表示传播行为是Required,isolation="READ_COMMITTED"表示隔离级别是提交读;
<tx:method name="*">:表示将拦截其他所有方法,被拦截的方法将应用配置的事务属性:propagation="REQUIRED"表示传播行为是Required,isolation="READ_COMMITTED"表示隔离级别是提交读,read-only="true"表示事务只读;
<aop:config>:AOP相关配置:
<aop:pointcut/>:切入点定义,定义名为"serviceMethod"的aspectj切入点,切入点表达式为"execution(* cn..chapter9.service..*.*(..))"表示拦截cn包及子包下的chapter9. service包及子包下的任何类的任何方法;
<aop:advisor>:Advisor定义,其中切入点为serviceMethod,通知为txAdvice。

2014年5月22日 22:29

相关推荐

    基于JAVA的论坛\网络教学 附源代码+数据库 毕业设计 毕业论文

    数据库设计时,应考虑到数据的一致性和安全性,例如,通过事务管理确保多条SQL操作的原子性,使用索引提高查询效率,以及合理设置权限避免数据泄露。 在毕业设计过程中,撰写毕业论文是非常重要的一环。论文应详细...

    Java版精华帖java讨论

    - 对于初学者常遇到的问题,如内存溢出、空指针异常、死锁、线程安全等,精华帖里会有详细的解答和案例分析。 - 类加载器、反射、动态代理等高级特性,以及JVM调优,也是常见讨论主题。 - 面向接口编程、设计模式...

    基于ssm+mysql学习交流平台源码数据库.zip

    1. **Spring框架**:Spring是Java企业级应用的核心框架,提供依赖注入(DI)和面向切面编程(AOP)功能,使得代码更加模块化和易于测试。它还包含Spring MVC模块,用于处理HTTP请求和响应,以及数据绑定、模型视图和...

    论坛系统源码

    此外,Spring 还提供了AOP(面向切面编程)支持,用于实现如日志、事务管理等横切关注点。 2. **Struts**:Struts 是一个基于MVC设计模式的Web应用程序框架。它负责处理HTTP请求,将请求分发到相应的控制器,同时...

    j2ee-java-游戏论坛管理.zip

    5. **Spring框架**:虽然J2EE提供了基本的组件和服务,但Spring框架提供了更灵活的解决方案,如依赖注入、AOP(面向切面编程)以及Spring MVC(Model-View-Controller)架构,能更好地组织代码,提高代码的可测试性...

    s2sh+JSP开源论坛系统.zip

    Struts提供了MVC(模型-视图-控制器)架构,Spring提供了依赖注入和事务管理,Hibernate则为数据库操作提供了对象关系映射(ORM)解决方案。这种框架组合简化了开发过程,提高了代码的组织性和可测试性。 JSP(Java...

    java 精华贴

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导...理解Bean管理和事务管理,可以提高开发效率。 这些知识点构成了Java开发者的必备基础,不断学习和实践将有助于提升编程能力,解决实际问题。

    基于ssm+mysql新农大校园论坛系统源码数据库论文.doc

    此外,Spring 还提供了面向切面编程(Aspect-Oriented Programming, AOP)支持,用于处理如日志、事务管理等横切关注点。 - **SpringMVC**:SpringMVC 是 Spring 框架的一部分,主要用于构建 Web 应用。它通过模型...

    java基于BS的家教服务平台毕业设计论文.doc

    SSH框架则帮助简化了开发流程,Struts负责处理请求和展示视图,Spring提供了依赖注入和事务管理,Hibernate则作为ORM(对象关系映射)工具,实现了JAVA对象与数据库表之间的无缝对接。 在系统功能实现上,前端主要...

    BBS论坛系统(jsp+sql).zip

    下面将详细探讨BBS论坛系统的关键技术和实现细节。 一、JSP技术 JSP是Java平台上的一种动态网页技术,它允许开发者在HTML代码中嵌入Java代码片段或使用JavaServer Pages Standard Tag Library (JSTL)、Expression ...

    java简单论坛

    5. **Spring框架**:虽然未明确提及,但为了实现更高效和松耦合的开发,通常会采用Spring框架来管理依赖注入、事务处理以及安全控制。 6. **Hibernate或MyBatis**:这两者是流行的ORM(对象关系映射)框架,可以...

    BBS论坛(糗事百科+SSH框架+数据库文件)

    Spring还包含了对事务管理、数据访问集成以及其他企业级服务的支持。 3. Hibernate:这是一个对象关系映射(ORM)工具,使得开发者可以使用Java对象来操作数据库,避免了编写大量SQL代码。它支持JDBC,能够自动管理...

    [毕设论文模板例子]java家教平台毕业设计论文.doc

    Struts2负责控制层,Spring提供依赖注入和事务管理,Hibernate则用于对象关系映射,简化数据库操作。 4. **功能实现**:平台前端以JSP技术实现,用户可以通过网页进行交互,如注册、登录、个人信息管理等。平台提供...

Global site tag (gtag.js) - Google Analytics