栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

自定义springboot starter

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自定义springboot starter

源码github

pom
    
        
            
                org.springframework.boot
                spring-boot-dependencies
                2.6.7
                pom
                import
            
        
    
    
        
            org.springframework.boot
            spring-boot-autoconfigure
            compile
        
        
            org.springframework.boot
            spring-boot-configuration-processor
            compile
            true
        
    
Properties
@ConfigurationProperties(prefix = "com.zl.starter")
public class ZlProperties {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
需要被配置的bean

public class HelloHandler {

private String name;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String sayHello(){
    return getName()+" say Hello";
}

}

配置类

配置类的@Configuration可以删掉。原理在springboot starter原理简单介绍和spring @Import介绍找到。

@Configuration
@EnableConfigurationProperties(ZlProperties.class)
//生成spring-autoconfigure-metadata.properties
@ConditionalOnClass({HelloHandler.class})
public class ZlAutoConfiguration{
    private final ZlProperties zlProperties;

    @Autowired
    public ZlAutoConfiguration(ZlProperties properties) {
        this.zlProperties = properties;
    }

    @Bean
    public HelloHandler helloHandler(){
        HelloHandler helloHandler = new HelloHandler();
        helloHandler.setName(zlProperties.getName());
        return helloHandler;
    }
}
spring.factories配置
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.starter.autoconfigure.ZlAutoConfiguration
使用 引入starter
 
     com.zl
     zl-spring-boot-starter
     0.0.1

配置application.properties

com.zl.starter.name=hh

注入HelloHandler
    @Resource
   private HelloHandler helloHandler;

   @PostConstruct
   public void a() {
       System.out.println(helloHandler.sayHello());
   }

结果为: hh say Hello。

附A

生成的spring-autoconfigure-metadata.properties

附B

官方连接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/862883.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号