springboot 自动配置,自定义start(包含controller)

自动配置的那些理论我就不说了,网上一大把,我们直接上代码

 首先创建父工程,创建一个空的maven项目

名字我们叫做spring-boot-learn-diary(springboot 学习日记)

然后我们在新建一个模块,也是空的maven,叫做demo-spring-boot-start

在pom文件导入依赖

springboot 自动配置,自定义start(包含controller)_第1张图片

前面两个是必要的,lombox看自己的代码习惯

导入依赖后,我们开始编码

先创建一个实体类,我写了一个User.java,并加上注解@ConfigurationProperties,这个时候注解会报错,这个时候可以暂时不用理会

springboot 自动配置,自定义start(包含controller)_第2张图片

 创建完User后,我们写一个UserService.java,代码如下

springboot 自动配置,自定义start(包含controller)_第3张图片

service 里面写上构造方法,然后写上两个方法

然后就是我们的自动配置类了

springboot 自动配置,自定义start(包含controller)_第4张图片

@EnableConfigurationProperties(User.class)加上这个注解后User的实体也不报错了
@Configuration 表示这是个配置类

ConditionalOnProperty 配置生效的条件 demo.user.enabled = true 生效,matchifmissing = true,如果配置文件没有值,默认true

最后我们需要写一个配置文件:META-INF/spring.factories

springboot启动的时候,会扫描这个配置文件

springboot 自动配置,自定义start(包含controller)_第5张图片

我们这指定自动配置的配置类 ,如果条件成立,会自动注册bean到spring容器中

我们测试一下,新建一个springboot的web项目,然后引入自己的start

springboot 自动配置,自定义start(包含controller)_第6张图片

 在yml里面写上配置文件

springboot 自动配置,自定义start(包含controller)_第7张图片

然后我们就可以直接使用这个bean啦

springboot 自动配置,自定义start(包含controller)_第8张图片

springboot 自动配置,自定义start(包含controller)_第9张图片

如果我们要引入start里面的controller,这个又要怎么配置

 首先我们在创建一个springboot的web项目

依赖如下 

springboot 自动配置,自定义start(包含controller)_第10张图片

创建一个controller

springboot 自动配置,自定义start(包含controller)_第11张图片

 然后在编写自动配置类

springboot 自动配置,自定义start(包含controller)_第12张图片

 老样子,我们编写配置文件

springboot 自动配置,自定义start(包含controller)_第13张图片

 然后我们引入jar包,编写配置文件,重新启动

springboot 自动配置,自定义start(包含controller)_第14张图片

 springboot 自动配置,自定义start(包含controller)_第15张图片

 启动成功够,访问

springboot 自动配置,自定义start(包含controller)_第16张图片

好了,自己写的start就好了,代码我上传到码云了

https://gitee.com/panjandrum/spring-boot-learn-diary

你可能感兴趣的:(springboot,自定义start,java,spring,spring,boot,后端)