一:aop的大致流程
1.我们需要往容器中注入AnnotationAwareAspectJAutoProxyCreator后置处理器,该后置处理器可以解析所有的切面 advisor 和生成代理类
2. 如果我们使用@EnableAspectJAutoProxy 或者 @EnableTransactionManagement 注解,这些注解会往容器中注入AwareAspectJAutoProxyCreator,如果没有使用,那么我可以模仿,自己定义一个注解注入他们
3.我们需要定义自己的advisor,包含pointcut和advice,其中pointcut是帮忙找到那些类哪些方法需要被代理,而advice是我们增强的代码,也就是打日志的代码
两者组装成advisor
advisor通过前面的MyLogRegitStar加到spring容器中
4.需要打日志的方法中贴上我们自定义的日志注解:
最后主启动类开启日志:
测试: