2.定义接口
public interface BookDao {
void save();
void update();
}
3.实现接口
@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...");
}
}
4.AOP
//3.变成spring能控制的bean
@Component
//4.告诉spring当成AOP处理:然后就会读取@Pointcut、@Before 的内容
@Aspect
public class MyAdvice {
//2.定义切入点,执行到这个方法
@Pointcut("execution(void com.dao.BookDao.update())")
private void pt(){}
//2.1 绑定切入点和共性功能的关系
@Before("pt()")
//1.定义两个方法的共性功能
public void method(){
System.out.println(System.currentTimeMillis());
}
}
5.spring核心配置
@Configuration
@ComponentScan("com")
//5.告诉spring有用注解开发的AOP, 当前注解启动了@Aspect,以此类推
@EnableAspectJAutoProxy
public class SpringConfig {
}
6.测试
public static void main(String[] args) {
ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfig.class);
BookDao bookDao = ac.getBean(BookDao.class);
bookDao.update();
}