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里面看一下
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gyU7gu0t-1664026616221)(/Users/luoweiqiang/Desktop/截屏2022-09-24 下午8.57.01.png)]](https://img-blog.csdnimg.cn/4df504375f5c42dca0b3c2034d3d7976.png)
这个import注解里面的AutoConfigurationImportSelector.class我们需要点进去看一下
这时候找到这个方法:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LNnEoDOy-1664026616222)(/Users/luoweiqiang/Desktop/截屏2022-09-24 下午9.03.04.png)]](https://img-blog.csdnimg.cn/4848a78f11e040d189c836c7ac4ecba3.png)
1.getCandidateConfigurations返回了127个所有的配置类都拿了出来 2.然后进行排除一些我们不需要的自动配置类 3.过滤掉不满足条件的配置类
getCandidateConfigurations方法讲解:
找到getCandidateConfigurations方法:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PGssMDM3-1664026616223)(/Users/luoweiqiang/Desktop/截屏2022-09-24 下午8.59.11.png)]](https://img-blog.csdnimg.cn/c1fac299bb8f47179bc3aa962185290e.png)
我们可以发现springboot启动的时候去找了这个配置文件,这个配置在
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RQ84bs1D-1664026616223)(/Users/luoweiqiang/Library/Application Support/typora-user-images/image-20220924210643471.png)]](https://img-blog.csdnimg.cn/fb3b8fb334104aac9ca37d8c3104efa0.png)
过滤详解:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F6XIbzuP-1664026616223)(/Users/luoweiqiang/Desktop/截屏2022-09-24 下午9.16.11.png)]](https://img-blog.csdnimg.cn/392cb6d655504ccda945a7d92acd2508.png)
Conditional:
1.根据配置类上的Conditional检验条件是否满足,如果满足条件就可以被加载
ConditionalOnMissingBean:
如果自己创建了对应的对象,框架就不会自动创建对象
自定义配置详解:
已知条件我们如果使用RedisTemple springboot会给我自动默认一个配置(通常情况下为本机)
1.我们在配置文件自定义了redis配置如何生效:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g8on1uUl-1664026616223)(/Users/luoweiqiang/Desktop/截屏2022-09-24 下午9.25.31.png)]](https://img-blog.csdnimg.cn/ca5c40b469c34927ab26674f6eafc467.png)
这里点进RedisProperties就可以知道了
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PKTo3KWv-1664026616223)(/Users/luoweiqiang/Desktop/截屏2022-09-24 下午9.32.40.png)]](https://img-blog.csdnimg.cn/6dc04c70e4e54bfaa378c05a409df5d1.png)
@ComponentScan:
包扫描,扫描引导类所在包和子包
|