AOP入门案例
AOP入门案例思路分析
案例设定:测定接口执行效率
简化设定:在接口执行前输出当前系统时间
开发模式:XML or 注解
思路分析:
- 导入坐标(pom.xml)
- 制作连接点方法(原始操作,Dao接口与实现类)
- 制作共性功能(通知类与通知)
- 定义切入点
- 绑定切入点与通知关系(切面)
<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>
public class BookDaoImpl implements BookDao{
public void save(){
System.out.println(System.currentTimeMillis());
System.out.println("book dao save ...");
}
public void update(){
System.out.println("book dao update ...");
}
}
@Component
@Aspect
public class MyAdvice{
// 定义切入点
@Pointcut("execution(void com.xxx.dao.BookDao.update())")
private void pt(){ }
@Before("pt()") // 绑定切入点与通知关系
public void method(){ // 定义共性功能
System.out.println(System.currentTimeMillis());
}
}
@Configuration
@ComponentScan("com.xxx")
@EnableAspectJAutoProxy
public class SpringConfig{
}
