springboot自定义配置,简洁完整示例

配置类+配置属性类+功能类

1.配置类=@Configuration+@ConditionalOnClass,负责将bean注册到容器中。
@Configuration
@ConditionalOnClass(ExampleService.class)
@EnableConfigurationProperties(ExampleServiceProperties.class)
public class ExampleServiceAutoConfigure {
    @Autowired
    private ExampleServiceProperties properties;
    @Bean
    @ConditionalOnMissingBean
    @ConditionalOnProperty(prefix = "yyq.custom.example",value = "enabled",havingValue = "true")
    ExampleService exampleService(){
        return new ExampleService(properties.getPrefix(),properties.getSuffix());
    }
}
2.配置属性ConfigurationProperties:读取application.properties中的属性
@ConfigurationProperties("yyq.custom.example")
public class ExampleServiceProperties {
    private  String prefix;
    private String suffix;

    public String getPrefix() {
        return prefix;
    }

    public void setPrefix(String prefix) {
        this.prefix = prefix;
    }

    public String getSuffix() {
        return suffix;
    }

    public void setSuffix(String suffix) {
        this.suffix = suffix;
    }
}
3.定义功能类:类的功能
public class ExampleService {
    private String prefix;
    private String suffix;

    public ExampleService(String prefix, String suffix) {
        this.prefix = prefix;
        this.suffix = suffix;
    }
    public String wrap(String word){
        return prefix+word+suffix;
    }
}
4.让SpringBoot管理:通知spring容器导入自己的auto-configuration类。

resources/META-INFO/spring.factories中添加配置类

org.springframework.boot.autoconfigure.EnableAutoConfiguration=yyq.custom.example.ExampleServiceAutoConfigure
5.maven安装

mvn install

6.使用

pom文件中导入后能直接使用了。

<dependency>
   <groupId>yyq</groupId>
   <artifactId>custom</artifactId>
   <version>0.0.1-SNAPSHOT</version>
</dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值