3.1、引导加载自动配置类
1.@SpringBootConfiguration
@Configuration:代表当前是一个配置类
2.@ComponentScan
指定扫描哪些,Spring注解;
3.@EnableAutoConfiguration
合成注解
1、@AutoConfigurationPackage
自动配置包
2、@Import(AutoConfigurationImportSelector.class)
给容器批量导入组件
3.2、按需开启自动配置项
所有自动配置启动的时候默认全部加载。xxxxAutoConfiguration
按照条件装配规则(@Conditional),最终会按需配置。
3.3、修改默认配置
以用户的配置优先
总结:
-
SpringBoot先加载所有的自动配置类 xxxxxAutoConfiguration
-
每个自动配置类按照条件进行生效,默认都会绑定配置文件指定的值。xxxxProperties里面拿。xxxProperties和配置文件进行了绑定
-
生效的配置类就会给容器中装配很多组件
-
只要容器中有这些组件,相当于这些功能就有了
-
定制化配置
-
- 用户直接自己@Bean替换底层的组件
- 用户去看这个组件是获取的配置文件什么值就去修改。
xxxxxAutoConfiguration —> 组件 —> xxxxProperties里面拿值 ----> application.properties
4实践
4.1Lombox
使用:
- plugins下载插件
- 引入依赖
简化开发
@AllArgsConstructor
@noArgsConstructor
@EqualsAndHashCode
@ToString
@Data
@Slf4j //日志
4.2Dev-Tools
引入这个依赖,使用ctrl+f9,可以编译即可使用,不用重新启动
4.3 Spring Initalizr
项目初始化向导