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
在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