现在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是一种非常实用的技术,能够帮助开发者更高效地组织和维护代码。了解AOP的关键概念以及如何在Spring框架中实现AOP对于现代软件开发来说是非常重要的。希望本文能够为初学...
书中的这部分内容会涉及事务管理的API,以及如何在Spring中配置和使用事务管理器。 除了上述核心内容之外,书中还涉及了Spring Web模块的内容,包括Spring MVC(模型-视图-控制器)框架。Spring MVC框架提供了一种...
本文详细介绍了Spring事务配置中的五种方式:基于XML的声明式事务管理、基于注解的声明式事务管理、编程式事务管理、通过AOP实现的事务管理以及通过代理模式实现的事务管理。每种方式都有其适用场景,开发者可以根据...
例如,事务管理和日志记录可以被视为切面。 - **连接点(Joinpoint)**:程序执行过程中的某个点,比如方法执行或异常抛出。在Spring AOP中,连接点基本上指的是方法执行。 - **切点(Pointcut)**:一组连接点的...
- **事务管理**:Spring提供了一套强大的事务管理机制,能够在方法级别控制事务的开始和结束,确保业务逻辑的原子性。 #### 五、结论 通过整合Struts2、Spring与Hibernate,学生成绩管理系统不仅实现了基本的登录...
11. **Spring Security**:了解Spring的安全管理机制,包括身份验证、授权和安全配置。 12. **Spring Cloud**:讲解Spring Cloud的微服务治理框架,如Eureka、Zuul、Ribbon等组件。 13. **Spring测试**:学习如何...
- **Spring事务管理**:邹老师将深入讲解Spring中的事务管理机制,包括编程式事务管理和声明式事务管理的区别及其应用场景。 - **Spring MVC框架**:学习Spring MVC的工作原理和实现步骤,包括控制器设计、视图解析...
- Spring提供的声明式事务管理和编程式事务管理 - 如何配置和使用事务管理器 6. **集成测试技巧** - 使用Spring TestContext Framework进行单元测试和集成测试 - 测试驱动开发(TDD)的最佳实践 7. **高级主题...
AOP用于分离关注点,将横切关注点(如日志、事务管理)从业务逻辑中解耦。`Aspect`是切面的定义,`Pointcut`定义了关注点的定位,而`Advice`定义了在特定点执行的行为。 6. **Spring Instrumentation**:此模块提供...
- **事务管理介绍**:Spring提供的事务管理模块。 - **DAO支持** - **DAO支持概述**:Spring提供了对数据访问层的支持。 - **JDBC** - **选择JDBC数据库访问方法**:Spring支持多种JDBC访问方式。 - **包层次...
本书详细介绍了Spring AOP的实现机制,包括AopProxy代理对象的创建、AOP拦截器调用流程以及高级特性如环绕通知和切入点表达式的使用。通过对Spring AOP的深入了解,读者可以更加灵活地应用AOP解决实际开发中的问题。...
9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 ...
9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 插入事务操作 9.5.8. ...
- **事务管理**:Spring提供了一种声明式事务管理机制,简化了事务的处理流程。 - **依赖注入**:Spring的核心特性之一就是依赖注入(DI),它可以实现对象之间的解耦,使得代码更加易于测试和维护。 #### 六、Spring...
- **面向切面编程(AOP)**:阐述了如何利用Spring的AOP支持实现横切关注点的模块化处理,比如事务管理、日志记录等。 - **Bean工厂与应用程序上下文**:解释了Spring容器的基本概念,包括BeanFactory和...
- 事务管理的实现策略与配置方式。 7. **Spring测试框架介绍**: - Spring TestContext Framework的使用技巧。 - 如何利用MockMvc进行Web层单元测试。 - 集成测试的最佳实践。 8. **高级话题探索**: - ...
事务管理是企业级应用中不可或缺的一部分,Spring框架提供了两种事务管理机制:编程式事务管理和声明式事务管理。其中,声明式事务管理通过注解或XML配置来实现,无需编写额外的事务管理代码,极大地简化了事务处理...