导入相关坐标
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.4</version>
</dependency>
定义接口和实现类
public interface BookDao {
public void save();
public void update();
}
//实现类
@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.xiongdad.dao.BookDao.update())")
private void pt(){
}
//说明:切入点定义依托一个不具有实际意义的方法进行,即无参数,无返回值,方法体无实际逻辑
@Before("pt()")
public void method(){
System.out.println(System.currentTimeMillis());
}
}
开启Spring对AOP注解驱动支持
@Configuration
@ComponentScan("com.xiongdad")
@EnableAspectJAutoProxy
public class SpringConfig {
}
附: