引入jar包

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-autoconfigure</artifactId>
  5. <version>2.2.2.RELEASE</version>
  6. </dependency>
  7. </dependencies>

编写javaBean

  1. @EnableConfigurationProperties(SimpleBean.class)
  2. @ConfigurationProperties(prefix = "simplebean")
  3. public class SimpleBean {
  4. private int id;
  5. private String name;
  6. public int getId() {
  7. return id;
  8. }
  9. public void setId(int id) {
  10. this.id = id;
  11. }
  12. public String getName() {
  13. return name;
  14. }
  15. public void setName(String name) {
  16. this.name = name;
  17. }
  18. @Override
  19. public String toString() {
  20. return "SimpleBean{" +
  21. "id=" + id +
  22. ", name='" + name + '\'' +
  23. '}';
  24. }
  25. }

配置类

  1. @Configuration
  2. @ConditionalOnClass //ConditionalOnClass 当类路径classpath下有指定类的情况下进行自动配置
  3. public class MyAutoConfiguration {
  4. static {
  5. System.out.println("MyAutoConfiguration init....");
  6. }
  7. @Bean
  8. public SimpleBean simpleBean(){
  9. return new SimpleBean();
  10. }
  11. }

resources线下创建/META-INF/spring.factories

image.png

  1. org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  2. com.lagou.config.MyAutoConfiguration

使用自定义starter

  1. 导入依赖

    1. <dependency>
    2. <groupId>com.lagou</groupId>
    3. <artifactId>zdy-spring-boot-starter</artifactId>
    4. <version>1.0-SNAPSHOT</version>
    5. </dependency>
  2. 编写测试方法

    1. //ၥᦶᛔਧԎstarter
    2. @Autowired
    3. private SimpleBean simpleBean;
    4. @Test
    5. public void zdyStarterTest(){
    6. System.out.println(simpleBean);
    7. }