Spring-Aspects构件中aop.xml文件的作用是什么?
Spring-aspects包中aop.xml的用途
spring-aspects包里的aop.xml是Spring官方为自身内置AOP功能定义的配置文件,主要用来声明Spring提供的开箱即用的切面,具体包含这些场景的切面逻辑:
- 实现
@Transactional注解的事务管理切面 - 支持
@Cacheable、@CacheEvict等缓存注解的切面 - 处理
@Async异步方法的切面 - Spring内部用于Bean生命周期增强的切面(比如处理Bean初始化、销毁回调的增强)
当你启用AspectJ加载时编织(LTW)后,AspectJ会自动扫描类路径下所有的aop.xml文件,这个文件会触发Spring内置切面的加载与织入流程——AspectJ会把这些切面逻辑注入到符合匹配规则的目标类中,这也是启用LTW后启动时间增加的原因:额外的切面织入操作需要消耗时间。
如果你的应用不需要用到这些Spring内置的AOP功能,可以在自己的aop.xml里通过<exclude>标签屏蔽该文件的加载,或者调整AspectJ的扫描范围,以此减少启动时的开销。
内容的提问来源于stack exchange,提问作者theFriedC
相关产品推荐
相关产品推荐

