版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangminemail/article/details/82927177
1、添加aop依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
2、创建切面
@Aspect注解类未切面
@Before 通知织入(“execultion(“com.edu.spring.dao..*.*(..)”)”)
import org.springframework.stereotype.Repository;
@Repository
public class UserDao {
public void add(String username,String password){
System.out.println("user add "+username);
}
public void list(){
System.out.println("list ======= list...");
}
}
@Aspect
@Component
public class LogAspect {
@Before("execution(* com.zemel.test.dao..*.add(..))")
public void log(){
System.out.println("method log done...");
}
}
3、配置启用aop(默认是启用的)
参考autoconfig下的AopAutoConfiguration.class
spring.aop.auto=true
spring.aop.proxy-target-class=false:使用jdk做代理
spring.aop.proxy-target-class=true:使用cglib做代理
使用参数
注:使用了jdk的代理之后,只能使用接口获取对象
4、SpringBoot提供了注解@EnableAspectJAutoProxy
使用该注解开启AOP功能,配置文件就可以不配置