<!-- 声明一个事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 声明一个要进行事务处理的Bean -->
<bean id="petStore" class="org.springframework.samples.jpetstore.domain.logic.PetStoreImpl">
<property name="accountDao" ref="accountDao"/>
<property name="categoryDao" ref="categoryDao"/>
<property name="productDao" ref="productDao"/>
<property name="itemDao" ref="itemDao"/>
<property name="orderDao" ref="orderDao"/>
</bean>
<!-- 下面的两处配置,才是整个事务AOP的核心,在1.2.8版本中,通过FactoryBean把事务对象(dataSource),与需要进行事务控制的对象PetStoreImpl串起来,对PetStoreImpl有侵入性 -->
<!-- 而在之前的两处配置中,事务对象(dataSource)与需要进行事务控制的对象PetStoreImpl没有什么关系,它们的关系全部体现在下面的两处配置中 -->
<!-- 配置文件中各个属性的含义参考:http://www.redsaga.com/spring_ref/2.0/html/aop.html#aop-schema -->
<aop:config>
<aop:advisor pointcut="execution(* *..PetStoreFacade.*(..))" advice-ref="txAdvice"/>
</aop:config>
<!--下面的transaction-manager属性原配置中没有,如果缺少此配置,默认值就是“transactionManager”在此加上,让人看的更明白。-->
<!-- 参考 http://blog.xmnow.cn/doc/cn/spring2.0-reference_final_zh_cn/ch09s05.html -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="insert*"/>
<tx:method name="update*"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
分享到:
相关推荐
### Spring 2.0 声明式事务配置详解 #### 一、Spring 2.0 声明式事务概述 随着 Spring 框架的发展,从 Spring 1.x 到 Spring 2.0 版本,声明式事务管理方式有了显著改进。在 Spring 1.x 中,主要通过 AOP 方式实现...
在IT行业中,Spring框架是...Spring 2.0引入了基于AOP(面向切面编程)的声明式事务管理,使得事务配置更加直观。 在`applicationContext.xml`配置文件中,我们可以设置事务管理器和声明事务的行为。例如: ```xml ...
本文将详细介绍Spring 2.0的声明式事务配置以及如何简化这一过程。 首先,Spring提供了多种事务管理器,以适应不同的持久层技术和环境。对于单一资源,可以选择如DataSourceTransactionManager(适用于JDBC)、...
3. **数据访问集成**:Spring 2.0加强了对各种持久层技术的支持,包括JDBC、Hibernate、JPA等,通过声明式事务管理,使得数据库操作更加便捷和安全。 4. **Web MVC框架**:Spring 2.0的Web MVC框架有了显著提升,...
Spring的声明式事务管理使得事务控制变得简单,只需在配置文件中声明即可。 四、Web MVC框架 Spring 2.0的Web MVC框架提供了灵活的控制器接口,如Controller和CommandController。@RequestMapping注解用于映射HTTP...
- **声明式事务管理**:通过配置XML或注解(`@Transactional`)来管理事务边界,简化了复杂的事务代码。 - **自定义切面**:允许开发者定义自己的切面,以满足特定的应用需求。 ##### 3. 模块化设计 Spring 2.0采用...
它提供了一组通用的抽象层,简化了数据库操作,同时支持声明式事务管理,降低了事务处理的复杂性。 4. **MVC框架**:Spring 2.0引入了Spring MVC,这是一个强大的Web应用程序框架,用于构建RESTful和基于HTTP的Web...
第三,Spring 2.0增强了对事务管理的支持,包括编程式事务管理和声明式事务管理。通过源代码,我们可以看到`PlatformTransactionManager`接口如何被实现,以及`@Transactional`注解如何用于标记事务边界。同时,还...
8. **事务管理**:Spring 2.0提供了声明式事务管理,允许开发者在XML配置或注解中声明事务边界,降低了事务管理的复杂性。 9. **Spring表达式语言(Spring Expression Language, SpEL)**:Spring 2.0引入了SpEL,...
4. **数据访问**:Spring 2.0增强了对JDBC、ORM框架(如Hibernate和iBatis)的支持,提供了声明式事务管理。书中将指导读者如何利用Spring进行数据库操作,以及如何实现事务管理。 5. **Spring与其他技术的集成**:...
7. **事务管理**:Spring2.0加强了事务管理功能,提供了编程式和声明式的事务管理,适用于不同类型的事务策略,如本地事务、全局事务等。 8. **国际化(Internationalization,i18n)**:Spring2.0提供了对国际化...
在事务管理方面,Spring 2.0增强了对声明式事务的支持。开发者可以通过注解或XML配置来声明事务边界,使得事务管理更加透明和易于维护。同时,2.0还引入了事务模板(TransactionTemplate),提供了一种编程式的事务...
Spring 2.0提供了声明式事务管理,通过@Transactional注解,开发者可以在方法级别声明事务边界。Spring会根据注解自动开启、提交或回滚事务,降低了事务管理的复杂性。同时,Spring 2.0还支持编程式事务管理,允许更...
6. **事务管理**:Spring提供了声明式和编程式的事务管理,使得事务控制在业务逻辑之外,提高了代码的整洁度。 7. **MVC框架增强**:Spring 2.0引入了更多的Web特性,如Tiles视图集成、表单标签库和文件上传处理,...
6. **理解事务管理**:Spring如何提供透明的事务管理,包括编程式和声明式事务。 7. **分析Spring的其他模块**:例如Spring JDBC、Spring ORM、Spring AOP等,每个模块都有其独特的设计和实现。 总之,这份Spring ...
2. **事务管理**:Spring 2.0提供了一种统一的事务管理方式,包括编程式事务管理和声明式事务管理。声明式事务管理使得开发者可以使用注解或XML配置来声明事务边界,简化了事务处理逻辑。 3. **IoC(控制反转)与DI...
10. **事务管理**:Spring 2.0的事务管理功能得到了强化,支持编程式和声明式事务管理。通过`@Transactional`注解,开发者可以在方法级别声明事务边界,降低了事务管理的复杂性。 总的来说,Spring 2.0的发布极大地...
在事务管理方面,Spring2.0提供了声明式事务管理,通过注解或XML配置,开发者可以轻松地声明事务边界,简化了事务处理的复杂性。此外,Spring2.0还支持多种事务管理器,包括JDBC、Hibernate、JPA等,适应不同的数据...
声明式事务管理通过`@Transactional`注解实现,无需编写事务管理代码,降低了复杂性。 9. **Spring的单元测试**: Spring Test模块提供了对Spring应用的测试支持,包括`@ContextConfiguration`用于加载上下文,`@...
通过XML配置文件或注解,开发者可以声明组件及其依赖,由Spring容器负责实例化、装配和管理这些对象。这种控制反转的模式使得代码更加灵活,降低了组件间的耦合度。 其次,Spring的AOP特性允许开发者定义横切关注点...