`
yanghuidang
  • 浏览: 949916 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Spring的AOP和事务管理机制概览

阅读更多

现在Spring的AOP和事务管理机制是盛嚣尘上,我也不能免俗,记录一点相关知识,以备后查:

1)AOP
我们使用的最多的就是org.springframework.aop.framework.ProxyFactoryBean了,如下:
<bean id="myDAO"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">//代理接口
<value>com.hongsoft.test.dao.MyDAO</value>
</property>
<property name="target">//代理目标
<bean class="com.hongsoft.test.dao.MyDAOImpl">
<property name="sessionFactory">
<ref local="sessionFactory"></ref>
</property>
</bean>
</property>
<property name="interceptorNames">//拦截器名称,可以多个
<list>
<value>myInterceptor</value>
</list>
</property>
</bean>

2)事务管理
Spring的事务管理就是AOP的一个应用,如下:
<bean id="jdbcTransactionProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager">//事务管理器
<ref bean="jdbcTransactionManager"/>
</property>
<property name="transactionAttributes">//事务属性
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="modify*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="dispatch" parent="jdbcTransactionProxy">
<property name="target">//目标
<bean class="com.hongsoft.test.service.MyServiceImpl">
<property name="myDAO">
<ref local="myDAO"></ref>
</property>
</bean>
</property>
</bean>
可以看出,指定了事务管理器和事务属性后,相当于我们前面的在AOP中指定了拦截器方法,所以
把AOP用到事务处理是很简单的.

3)事务管理器
接口:PlatformTransactionManager
抽象类:AbstractPlatformTransactionManager
实现类:HibernateTransactionManager;DataSourceTransactionManager;JtaTransactionManager
DataSourceTransactionManager是用于JDBC方式的,如下:
<bean id="jdbcTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource"><ref bean="dataSource"/></property>
</bean>

分享到:
评论

相关推荐

    Spring AOP中文教程

    通过本教程的学习,我们可以了解到Spring AOP是一种非常实用的技术,能够帮助开发者更高效地组织和维护代码。了解AOP的关键概念以及如何在Spring框架中实现AOP对于现代软件开发来说是非常重要的。希望本文能够为初学...

    Spring技术内幕:深入解析Spring架构与设计原理(第2版)

    书中的这部分内容会涉及事务管理的API,以及如何在Spring中配置和使用事务管理器。 除了上述核心内容之外,书中还涉及了Spring Web模块的内容,包括Spring MVC(模型-视图-控制器)框架。Spring MVC框架提供了一种...

    spring 事务配置

    本文详细介绍了Spring事务配置中的五种方式:基于XML的声明式事务管理、基于注解的声明式事务管理、编程式事务管理、通过AOP实现的事务管理以及通过代理模式实现的事务管理。每种方式都有其适用场景,开发者可以根据...

    AOP面向切面编程总结

    例如,事务管理和日志记录可以被视为切面。 - **连接点(Joinpoint)**:程序执行过程中的某个点,比如方法执行或异常抛出。在Spring AOP中,连接点基本上指的是方法执行。 - **切点(Pointcut)**:一组连接点的...

    Struts2,Spring与Hibernate整合应用,学生成绩管理系统

    - **事务管理**:Spring提供了一套强大的事务管理机制,能够在方法级别控制事务的开始和结束,确保业务逻辑的原子性。 #### 五、结论 通过整合Struts2、Spring与Hibernate,学生成绩管理系统不仅实现了基本的登录...

    spring教程 电子书籍 介绍spring特点和应用

    11. **Spring Security**:了解Spring的安全管理机制,包括身份验证、授权和安全配置。 12. **Spring Cloud**:讲解Spring Cloud的微服务治理框架,如Eureka、Zuul、Ribbon等组件。 13. **Spring测试**:学习如何...

    邹波spring

    - **Spring事务管理**:邹老师将深入讲解Spring中的事务管理机制,包括编程式事务管理和声明式事务管理的区别及其应用场景。 - **Spring MVC框架**:学习Spring MVC的工作原理和实现步骤,包括控制器设计、视图解析...

    spring in action 3 英文版

    - Spring提供的声明式事务管理和编程式事务管理 - 如何配置和使用事务管理器 6. **集成测试技巧** - 使用Spring TestContext Framework进行单元测试和集成测试 - 测试驱动开发(TDD)的最佳实践 7. **高级主题...

    spring3 源码 项目

    AOP用于分离关注点,将横切关注点(如日志、事务管理)从业务逻辑中解耦。`Aspect`是切面的定义,`Pointcut`定义了关注点的定位,而`Advice`定义了在特定点执行的行为。 6. **Spring Instrumentation**:此模块提供...

    Spring5.1中文参考指南.pdf

    - **事务管理介绍**:Spring提供的事务管理模块。 - **DAO支持** - **DAO支持概述**:Spring提供了对数据访问层的支持。 - **JDBC** - **选择JDBC数据库访问方法**:Spring支持多种JDBC访问方式。 - **包层次...

    Spring技术内幕-深入解析_Spring架构与设计原理

    本书详细介绍了Spring AOP的实现机制,包括AopProxy代理对象的创建、AOP拦截器调用流程以及高级特性如环绕通知和切入点表达式的使用。通过对Spring AOP的深入了解,读者可以更加灵活地应用AOP解决实际开发中的问题。...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. &lt;tx:advice/&gt; 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 ...

    Spring 2.0 开发参考手册

    9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. &lt;tx:advice/&gt; 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 插入事务操作 9.5.8. ...

    Spring in Action中文版

    - **事务管理**:Spring提供了一种声明式事务管理机制,简化了事务的处理流程。 - **依赖注入**:Spring的核心特性之一就是依赖注入(DI),它可以实现对象之间的解耦,使得代码更加易于测试和维护。 #### 六、Spring...

    SpringRecipes

    - **面向切面编程(AOP)**:阐述了如何利用Spring的AOP支持实现横切关注点的模块化处理,比如事务管理、日志记录等。 - **Bean工厂与应用程序上下文**:解释了Spring容器的基本概念,包括BeanFactory和...

    SPRING技术内幕+深入解析SPRING架构与设计 55M(下载地址)

    - 事务管理的实现策略与配置方式。 7. **Spring测试框架介绍**: - Spring TestContext Framework的使用技巧。 - 如何利用MockMvc进行Web层单元测试。 - 集成测试的最佳实践。 8. **高级话题探索**: - ...

    Spring Framework 开发参考手册

    事务管理是企业级应用中不可或缺的一部分,Spring框架提供了两种事务管理机制:编程式事务管理和声明式事务管理。其中,声明式事务管理通过注解或XML配置来实现,无需编写额外的事务管理代码,极大地简化了事务处理...

Global site tag (gtag.js) - Google Analytics