备注:execution(* com.fairy.service..*.*(..))是讲aop切面锁定到com.fairy.service这个包和子包下面的所有方法,事物切面仅仅限于这个包以及其子包下面。
在这里我提供几种配置方式,要想研究更深刻的配置规则各位自己去研究吧。
•任意公共方法的执行:
execution(public * *(..))
•任何一个以“set”开始的方法的执行:
execution(* set*(..))
•AccountService 接口的任意方法的执行:
execution(* com.fairy.service.AccountService.*(..))
•定义在service包里的任意方法的执行:
execution(* com.fairy.service.*.*(..))
•定义在service包或者子包里的任意方法的执行:
execution(* com.fairy.service..*.*(..))
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="username" value="scott"/>
<property name="password" value="tiger"/>
</bean>
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<aop:config>
<aop:advisor pointcut="execution(* com.fairy.service..*.*(..))" advice-ref="txAdvice"/>
</aop:config>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method propagation="REQUIRED" name="*" />
</tx:attributes>
</tx:advice>
</beans>
分享到:
相关推荐
@AspectJ配置Spring AOP,文档,Aspect jar包, 可运行的demo,
XML配置SpringAOP共2页.pdf.zip
注解配置SpringAOP共4页.pdf.zip
使用Spring配置文件实现AOP
里面包括4个例子:(1)Spring实现AOP方式之一:基于XML配置的Spring AOP (2)Spring实现AOP方式之二:使用注解配置 Spring AOP (3)Spring AOP : AspectJ Pointcut 切点 (4)Spring AOP : Advice 声明 (通知注解)
SpringAop面向切面编程
Spring AOP配置的实例,最基本的Spring AOP配置
springAOP配置实现动态代理,有利于熟悉动态代理原理,深入了解spring。
Spring AOP 几个不同使用方法的完整例子,使用Junit4c测试, 在我的博客上有不同配置组合的说明,可以参考
SpringAop xml方式配置通知
SpringAOP的注解配置完成切面的编程,完成execution,annotation两种表达式的实例Ddemo
基于注解配置和使用spring AOP(spring mvc框架)
一个基于配置文件的Spring AOP的实现。实现了前置通知,后置通知,以及拦截器的功能,配置中有详细的注释。
Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供...
最近使用了springAOP编程,文档里面包含了springAOP的代码示例及详细注释说明,使用的是注解配置模式
Spring AOP配置事务方法,描述了spring的事务配置,方便开发应用和数据库的连接管理。
压缩包中函数Spring AOP开发时使用注解和xml文件配置demo
本资源用来展示如何使用 spring aop 进行日志记录,例子里面通过aop的配置,把产生的日志存放到当前项目的根目录下,而且对方法执行过程中的参数进行了记录,对于aop如何记录日志不清楚的同学可以看看。