spring boot加载机制

@SpringBootApplication作用

标注为启动类

SpringBootApplication的注解有以下

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
}

 

@SpringBootConfiguration作用

@SpringBootConfiguration点进去是  

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {
}

通过@Configuration注解来加载标注有@Configuration的类

作用

1.1、@Configuration配置spring并启动spring容器
1.2、@Configuration启动容器+@Bean注册Bean
1.3、@Configuration启动容器+@Component注册Bean

@ComponentScan作用

扫描包下的文件

@EnableAutoConfiguration作用

加载spring.factories下的类文件

 

posted @ 2020-04-04 20:30  溢性循环  阅读(1565)  评论(0)    收藏  举报