一. Spring Boot的特性(优点)有哪些?
二.Starter原理解密
- Starter的作用
starter 引入相关的jar
starter 自动完成bean的配置 - 疑问1:这些bean的依赖关系是如何自动处理的?
如:如果我们没有配置datasource,那么MyBatis会被加载吗? - 疑问2:这些bean配置需要的参数是如何规定并获取的?
如:配置datasource需要数据库连接参数,MyBatis也有自己的配置参数 - 疑问3:这些bean配置是如何被发现并加载的?
- 思考:如果我们开发的一些通用组件,被很多项目使用,我们是不是可以制作一个starter,来简化使用。
三. 开发自己的Spring-Boot-Starter
- Starter是一个集成接合器,完成两件事:
引入相关的jar
自动配置 - Spring Boot规范
starter.jar 完成引入相关的jar
autoConfigure.jar 完成自动配置
也可以只用一个jar - Starter命名规范
- 蓝色部分是在容器初始化前完成加载,而@PropertySource是在容器初始化后加载的,越晚加载的优先级越高。
Spring-Boot 参数配置语法
- @ConfigurationProperties 属性名灵活绑定
- @ConfigurationProperties VS @Value