54.Spring的AOP是在哪里创建的动态代理?
发布时间:2024年01月12日
54.Spring的AOP是在哪里创建的动态代理?
-
- 正常的Bean会在Bean的生命周期的‘初始化’后, 通过BeanPostProcessor.postProcessAfterInitialization创建aop的动态代理
-
- 还有一种特殊情况: 循环依赖的Bean会在Bean的生命周期‘属性注入’时存在的循环依赖的情况下, 也会为循环依赖的Bean
通过MergedBeanDefinitionPostProcessor.postProcessMergedBeanDefinition创建aop
额外扩展
1、AOP 的使用场景
AOP 的使用场景一般是在某些纵向逻辑和多个相对独立的横向逻辑中,将横向逻辑进行抽象和封装,使得横向逻辑不再与纵向逻辑混杂在一起,使得应用程序更加易于维护和扩展。在实际开发中,AOP 的使用场景比较广泛,例如:
- 日志记录:在应用程序中,可以通过 AOP 对方法调用进行拦截,在方法调用前后记录日志信息。
- 安全处理:通过 AOP 实现安全方案,例如在应用程序中对某些敏感方法添加权限验证。
- 性能监控:对应用程序进行性能监控,实现性能分析和调优。
- 事物管理:通过 AOP 对事物进行管理,例如实现事物的回滚和提交。
- 缓存管理:对应用程序进行缓存管理,例如在读写操作中进行缓存。
2、AOP 的实现方式
在 SpringBoot 中
文章来源:https://blog.csdn.net/weixin_43860634/article/details/135549442
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!