@SpringBootApplication
@SpringBootConfiguration
@Configuration对我们来说并不陌生,以JavaConfig的方式定义Spring IoC容器的配置类使用的就是这个@Configuration。
@ComponentScan
@ComponentScan的功能其实就是自动扫描并加载符合条件的组件(比如被org.springframework.stereotype下的@Component、@Controller、@Repository、@Service所标注的类,以及org.aspectj.lang.annotation下@Aspect修饰的类),最终将这些Bean的定义加载到IoC容器中。
@ComponentScans可以配置多个@ComponentScan,得益于Java 8支持了多重注解。
@EnableAutoConfiguration
@EnableAutoConfiguration是Spring Boot实现自动配置的关键,也是扩展Spring Boot的关键之处。
@EnableTransactionManagement注解,它能够声明事务管理;@EnableWebMvc注解能启用配置Spring MVC; @EnableScheduling注解可以初始化一个调度器。
而这些注解之所以能自动根据条件来注册我们需要的Bean实例,主要是由其上的注解@Import所导入的。在@EnableAutoConfiguration类上@Import注解导入的是org.springframework. boot.autoconfigure.EnableAutoConfigurationImportSelector这个实现。
网友评论