1.使用@AspectJ标签
在AspectJ5中增加了对Java5注解的完全支持,可以使用Java注解来取代专门的AOP语法,把普通的Java类(POJO)声明为切面模块。使用<aop:aspectj-autoproxy/>来开启在POJO中通过注解来标识切面模块的识别功能。但目前Spring只支持其中部分标签,包括@Before,@AfterReturning,@AfterThrowing,@After,@Around等几种。
2.基于Schema模式配置Spring AOP
通过Spring配置文件中通过AspectJ切入点语言表达式来定义切入点,并配置相关的增强Advice实现方法
<aop:config>
<aop:pointcut id="somePointcut" ../>
<aop:advisor id="someAdvisor" ../>
<aop:aspect id="someAspect" ref="someBean">
<aop:adviceType id="someAdvice" ../>
</aop:aspect>
</aop:config>
3.基于Spring API的配置文件
包括如下内容:
1.0个或多个切入点定义Bean,必须实现Pointcut接口
2.1个或多个通知实现Bean,必须实现Advice接口
3.0个或多个引介Bean,实现IntroductionInfo接口
4.1个或多个切面封装Bean,必须实现Advisor接口
5.1个或多个真实业务Bean
6.1个或多个代理Bean