前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5分钟学会Spring Boot自定义属性和自动配置

5分钟学会Spring Boot自定义属性和自动配置

作者头像
ImportSource
发布2018-04-03 13:07:09
1.3K0
发布2018-04-03 13:07:09
举报
文章被收录于专栏:ImportSourceImportSource

你想像Spring Cloud那样给开发者暴露你组件的配置吗?现在花五分钟来实现这样的效果吧!

新建项目

引入了依赖web。

CustomProperties

然后我们新建一个properties类:

代码语言:javascript
复制
@ConfigurationProperties(prefix = "importsource.mail")
@Data
public class CustomProperties {
    private String password;
}

Configuration

然后新建一个configuration类:

代码语言:javascript
复制
@Configuration
@EnableConfigurationProperties(CustomProperties.class)
public class CustomAutoConfiguration {
    @Bean
    Person person(CustomProperties properties){
        return new Person(properties);
    }
}

class Person{
    private CustomProperties properties;

    Person(CustomProperties properties) {
       this.properties=properties;
        System.out.println(properties);
    }
}

现在开始演示效果。

演示效果

然后在application.properties中加入配置:

代码语言:javascript
复制
importsource.mail.password=importsource

main代码:

代码语言:javascript
复制
@SpringBootApplication
public class CustomPropertiesApplication {

   public static void main(String[] args) {
      SpringApplication.run(CustomPropertiesApplication.class, args);
   }
}

然后启动应用:

发现自定义属性已经生效。

AutoConfiguration

这里我们只是在一个项目中编写的。如果你开发的是单独的jar包,然后供其他人使用,那么你只需要在resources目录下,添加META-INF目录,然后新建文件spring.factories如下:

代码语言:javascript
复制
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.importsource.spring.boot.CustomAutoConfiguration

这样我们配置的configuration就会自动被加载。为什么这么做呢?因为spring默认无法发现其他jar包中的配置并加载进来。所以只能通过这样的方式才能让配置加载进来。有关自动配置的请移步:像Spring Boot那样创建一个你自己的Starter了解更多。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ImportSource 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档