概述
- 简介
- 实现原理
简介
在使用SpringBoot的时候,我们经常看到一些@Enable*
之类的开启对某些特性的支持。类如下面举的例子
- @EnableAspectJAutoProxy 开启对AspectJ自动代理的支持
- @EnableAsync 开启异步方法的支持
- @EnableScheduling 开启计划任务的支持
- @EnableWebMvc 开启Web MVC的配置支持。
- @EnableConfigurationProperties开启对@ConfigurationProperties注解配置Bean的支持。
- @EnableJpaRepositories 开启对Spring Data JPA Repository的支持。
- @EnableTransactionManagement 开启注解式事务的支持。
- @EnableCaching开启注解式的缓存支持。
通过简单的@Enable*
来开启一项功能的支持,从而避免自己配置大量的代码,大大降低使用难度。那么这个神奇的功能的实现原理是什么呢?下面来研究一下。