springBoot启动类

本文详细解析了Spring Boot启动类的原理,包括@SpringBootApplication注解的组成:@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan。阐述了如何通过这些注解实现自动配置、组件扫描以及自定义扫描范围。
启动类上,使用该注解,定义要扫描的包
@ComponentScan(value ={"com.hollycrm,com.csc"})
因为@SpringBootApplication 会默认将扫描位置等于当前目录。详见@SpringBootApplication 的内容。
 
 
1.1 @SpringBootApplication
 
 
包含3个子注解
 
1.1.1
 @SpringBootConfiguration:Spring Boot的配置类;标注在某个类上,表示这是一个Spring Boot的配置类;
        @Configuration:配置类上来标注这个注解;配置类 ----- 配置文件;配置类也是容器中的一个组件;
            @Component 将类注入容器
 
1.1.2 自动 配置信息
@EnableAutoConfiguration                 Spring的底层注解@Import,给容器中导入一个组件
    @Import({EnableAutoConfigurationImportSelector.class}) 导入类
        EnableAutoConfigurationImportSelector extends AutoConfigurationImportSelector 中获取
给容器中导入非常多的自动配置类(xxxAutoConfiguration)
 
其中方法 getCandidateConfigurations() 调用loadFactoryNames()
 
扫描所有jar包类路径下  META-INF/spring.factories
把扫描到的这些文件的内容包装成properties对象
从properties中获取到EnableAutoConfiguration.class类(类名)对应的值,然后把他们添加在容器中。
 
 
1.1.3
 
扫描位置
@ComponentScan(excludeFilters = {        
   @Filter(type = FilterType.CUSTOM,classes = {TypeExcludeFilter.class}),
   @Filter(type = FilterType.CUSTOM,classes = {AutoConfigurationExcludeFilter.class})
})
 
默认是启动类的当前及其子目录。 也可自定义扫描包,在启动类使用注解。
@ComponentScan(value ={"com.hollycrm","com.csc"})
@SpringBootApplication
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值