spring-boot-starter-aop 自动配置行为由两部分内容组成:位于 spring-boot-autoconfigure的 org.springframework.boot.autoconfigure.aop.AopAutoConfiguration 提供 @Configuration 配置类和相应的配置项。
spring-boot-starter-aop 模块自身提供了针对 spring-aop、aspectjrt 和 aspectjweaver 的依赖。
一般情况下,只要项目依赖中加入了 spring-boot-starter-aop,其实就会自动触发 AOP 的关联行为,包括构建相应的 AutoProxyCreator,将横切关注点织入(Weave)相应的目标对象等,不过 AopAutoConfiguration 依然为我们提供了可怜的两个配置项,用来有限地干预 AOP 相关配置:
spring.aop.auto=true
spring.aop.proxy-target-class=false
对我们来说,这两个配置项的最大意义在于:允许我们投反对票,比如可以选择关闭自动的 aop 配置(spring.aop.auto=false),或者启用针对 class 而不是 interface 级别的 aop 代理(aop proxy)。
AOP 的应用场景很多,我们不妨以当下最热门的 APM(Application Performance Monitoring)为实例场景,尝试使用 spring-boot-starter-aop 的支持打造一个应用性能监控的工具原型。
spring-boot-starter-aop 在构建 spring-boot-starter-metrics 自定义模块中的应用
- 本地下载(推荐): 本地下载