自动配置的那些理论我就不说了,网上一大把,我们直接上代码
首先创建父工程,创建一个空的maven项目
名字我们叫做spring-boot-learn-diary(springboot 学习日记)
然后我们在新建一个模块,也是空的maven,叫做demo-spring-boot-start
在pom文件导入依赖
前面两个是必要的,lombox看自己的代码习惯
导入依赖后,我们开始编码
先创建一个实体类,我写了一个User.java,并加上注解@ConfigurationProperties,这个时候注解会报错,这个时候可以暂时不用理会
创建完User后,我们写一个UserService.java,代码如下
service 里面写上构造方法,然后写上两个方法
然后就是我们的自动配置类了
@EnableConfigurationProperties(User.class)加上这个注解后User的实体也不报错了
@Configuration 表示这是个配置类
ConditionalOnProperty 配置生效的条件 demo.user.enabled = true 生效,matchifmissing = true,如果配置文件没有值,默认true
最后我们需要写一个配置文件:META-INF/spring.factories
springboot启动的时候,会扫描这个配置文件
我们这指定自动配置的配置类 ,如果条件成立,会自动注册bean到spring容器中
我们测试一下,新建一个springboot的web项目,然后引入自己的start
在yml里面写上配置文件
然后我们就可以直接使用这个bean啦
如果我们要引入start里面的controller,这个又要怎么配置
首先我们在创建一个springboot的web项目
依赖如下
创建一个controller
然后在编写自动配置类
老样子,我们编写配置文件
然后我们引入jar包,编写配置文件,重新启动
启动成功够,访问
好了,自己写的start就好了,代码我上传到码云了