SprngBoot之所以现在这吗火热,是因为spring starter模式使我们日常模块化开发独立化, 模块之间依赖关系更加松散,更加的方便集成
如何实现
首先建立一个普通maven工程,修改pom配置文件
1 | <dependencies> |
然后定义一个配置文件属性的类,为后续再其它项目中配置属性时使用。以spring.test-starter为开头,后面配置时间添加相应的属性即可
1 | "spring.test-starter") (prefix = |
t添加一个测试的service。其它模块集成这个starter时可以直接调用
1 | public class TestService { |
创建自动配置。用于读取自定义的配置属性和自动注入TestService的 bean。每个starter都至少会有一个自动配置类
1 |
|
在resources目录下创建META-INF文件夹并添加spring.factories文件。在该文件中配置自己的自动配置类。如果去debug springboot源码会发现SpringApplication.run中就执行了读取spring.factories文件的操作去进行自动配置
1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ |
这样自定义一个starter 就完成了。接下来就可以到其它模块中使用了。首先在其他模块中引入
1 | <dependency> |
application.properties中添加配置属性
1 | spring.test-starter.name=qxwxww |
测试
1 | (SpringRunner.class) |
输出如下提示,表示成功