注解方式结合spring aop实现日志动态可插拔打印

一:aop的大致流程

 

 

 

1.我们需要往容器中注入AnnotationAwareAspectJAutoProxyCreator后置处理器,该后置处理器可以解析所有的切面 advisor 和生成代理类

2. 如果我们使用@EnableAspectJAutoProxy 或者 @EnableTransactionManagement 注解,这些注解会往容器中注入AwareAspectJAutoProxyCreator,如果没有使用,那么我可以模仿,自己定义一个注解注入他们

 

 

 

 

 3.我们需要定义自己的advisor,包含pointcut和advice,其中pointcut是帮忙找到那些类哪些方法需要被代理,而advice是我们增强的代码,也就是打日志的代码

 

 

 

 

 

 两者组装成advisor

 

 advisor通过前面的MyLogRegitStar加到spring容器中

 

 4.需要打日志的方法中贴上我们自定义的日志注解:

 

 最后主启动类开启日志:

 

 测试:

 

posted @ 2022-02-11 14:43  yangxiaohui227  阅读(248)  评论(0)    收藏  举报