starter:
这个场景需要使用到的依赖是什么?
如何编写自动配置?
自定义starter模式是什么?
Spring Boot 定义starter通用套路: 启动只是用来做依赖导入的; 专门来写一个自动配置模块; 启动器依赖自动配置; 别人使用只需要引入启动器(starter)即可; 命名规则: 自定义启动器名-spring-boot-starter 例如 mybatis-spring-boot-starter;(官方一般把命名放在后面,如org.springframework.boot.spring-boot-starter-logging)
2.1 创建空项目
2.2 添加maven模块
2.3 继续添加Spring Initializr (该模块意义为 为空的starter即bd2star-spring-boot-starter提供引用)
不引入任何模块 目录结构如下:
2.4 启动器pom.xml 中引入自动配置模块
目录结构为:
创建HelloService.java
创建HelloProperties.java
创建HelloServiceAutoConfiguration.java
在resources文件夹下创建META-INF文件夹 并在内部创建spring.factories文件(参考org/springframework/boot/spring-boot-autoconfigure/2.1.0.RELEASE/spring-boot-autoconfigure-2.1.0.RELEASE.jar!/META-INF/spring.factories下出如下配置)
先安装自动配置到仓库中 再安装starter
成功后控制台如下:
新建 Spring Boot 项目 并引入web依赖
在新的测试项目pom.xml文件中引入我们自定义的starter
目录结构如下:
新建HelloController.java
修改application.properties