spring boot里的配置文件(*.properties)

spring boot的出现,据说是为了简化spring各种繁琐的XML配置,推崇“约定重于配置”的思想。这果然不是盖的。

就拿spring boot里的配置文件(*.properties)来说吧。

1、系统会把所有的 *.properties 文件当作配置文件对待

一视同仁。配置项不一定要写在application.properties或application.yml里(据说application.properties优先级高于application.yml),比如我在同一目录下建立一个web.properties,里面的配置项同样可以读取,而无需做特殊的声明。
在这里插入图片描述
读取代码:

@Configuration
@PropertySource(value = "classpath:webconfig.properties",encoding = "UTF-8")//这一句不写也可以
@ConfigurationProperties("web")
public class WebConfig {
    private String pubzy;//公用静态资源库
    public String getPubzy() {
        return pubzy;
    }
    public void setPubzy(String pubzy) {
        this.pubzy = pubzy;
    }
    ……
}

2、驼峰命名规则

不管配置文件里的各种配置项怎么命名,驼峰也好,下划线分隔也好,减号连接也好,都能识别,真令人惊讶。

比如配置文件里某配置项以下三种写法(后两个注释了),系统都能识别,能跟代码里的属性绑定。

配置文件web.properties:

cas.server-url-prefix=http://192.168.0.22:9080/cas248
#cas.server_url_prefix=http://192.168.0.22:9080/cas248
#cas.serverUrlPrefix=http://192.168.0.22:9080/cas248

代码:

@Configuration
@PropertySource(value = "classpath:webconfig.properties",encoding = "UTF-8")
@ConfigurationProperties("cas")
public class CasConfig {

    private String serverUrlPrefix;//可以准确无误地指向上述三种配置项

    public String getServerUrlPrefix() {
        return serverUrlPrefix;
    }

    public void setServerUrlPrefix(String serverUrlPrefix) {
        this.serverUrlPrefix = serverUrlPrefix;
    }
}
发布了1105 篇原创文章 · 获赞 337 · 访问量 338万+

猜你喜欢

转载自blog.csdn.net/leftfist/article/details/100553759
今日推荐