启用注解模式
<!-- 启动 @AspectJ 支持 -->
<bean class="org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator"/>
- 定义需要处理的Bean
-
// 使用 @Aspect 定义一个方面类 @Component public class Chinese { public String sayHello(String name){ System.out.println("-- 正在执行 sayHello 方法 --"); // 返回简单的字符串 return name + " Hello , Spring AOP"; } // 定义一个 eat() 方法 public void eat(String food){ System.out.println("我正在吃 :"+ food); } }
- 切入增加方法:事务控制、日志记录
-
//定义一个切面 @Aspect public class AfterReturnTest{ //匹配包下所有的方法执行为切入点 @AfterReturning(return="rvt",pointcut="execution(* cn.com.bluemoon.service.impl.*.*") public void log(Object rvt){ System.out.println("获取目标方法返回值:"+ rvt); System.out.println("模拟日制记录..."); } }