如何自定义一个SpringBoot Srarter?
首先创建一个项目,命名为demo-spring-boot-starter,引入SpringBoot相关依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
编写配置文件
这里定义了属性配置的前缀
@ConfigurationProperties(prefix = "hello") public class HelloProperties { private String name; //省略getter、setter }
自动装配
创建自动配置类HelloPropertiesConfigure
@Configuration @EnableConfigurationProperties(HelloProperties.class) public class HelloPropertiesConfigure { }
配置自动类
在/resources/META-INF/spring.factories
文件中添加自动配置类路径
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ cn.fighter3.demo.starter.configure.HelloPropertiesConfigure
测试
至此,随手写的一个自定义SpringBoot-Starter就完成了,虽然比较简单,但是完成了主要的自动装配的能力。
- 创建一个工程,引入自定义starter依赖
<dependency> <groupId>cn.fighter3</groupId> <artifactId>demo-spring-boot-starter</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
在配置文件里添加配置
hello.name=张三
测试类
@RunWith(SpringRunner.class) @SpringBootTest public class HelloTest { @Autowired HelloProperties helloProperties; @Test public void hello(){ System.out.println("你好,"+helloProperties.getName()); } }
运行结果