date: 2023-01-05
AOP开发入门
- 在maven的pom.xml中导入坐标
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.4</version>
</dependency>
</dependencies>
- 定义接口和实现类
@Repository
public class BookDaoImpl implements BookDao {
@Override
public void save() {
System.out.println(System.currentTimeMillis());
System.out.println("book dao save");
}
@Override
public void update() {
System.out.println("book dao update");
}
}
- 定义通知类(通知类里面定义通知(要新增功能部分的一个方法)和切入点)
@Component
@Aspect
public class MyAdvice {
// 定义切入点
@Pointcut("execution(void com.hukss.dao.BookDao.update())")
private void printTime(){}
//定义通知
@Before("printTime()")
public void method() {
System.out.println(System.currentTimeMillis());
}
}
- 在spring配置类中使用注解@EnableAspectJAutoProxy
@EnableAspectJAutoProxy
public class SpringConfig {
}
注意:本文归作者所有,未经作者允许,不得转载