1.springboot的核心注解为@SpringBootApplication
SpringBootApplication里面和三个核心注解:
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
@SpringBootConfiguration注解:
1.可以将引导类变成配置类,能在类中通过@Bean注解将对象放到spring容器中
@EnableAutoConfiguration:
自动配置的核心注解
1.首先我们打开EnableAutoConfiguration里面看一下
这个import注解里面的AutoConfigurationImportSelector.class我们需要点进去看一下
这时候找到这个方法:
1.getCandidateConfigurations返回了127个所有的配置类都拿了出来 2.然后进行排除一些我们不需要的自动配置类 3.过滤掉不满足条件的配置类
getCandidateConfigurations方法讲解:
找到getCandidateConfigurations方法:
我们可以发现springboot启动的时候去找了这个配置文件,这个配置在
过滤详解:
Conditional:
1.根据配置类上的Conditional检验条件是否满足,如果满足条件就可以被加载
ConditionalOnMissingBean:
如果自己创建了对应的对象,框架就不会自动创建对象
自定义配置详解:
已知条件我们如果使用RedisTemple springboot会给我自动默认一个配置(通常情况下为本机)
1.我们在配置文件自定义了redis配置如何生效:
这里点进RedisProperties就可以知道了
@ComponentScan:
包扫描,扫描引导类所在包和子包
|