最近在做项目的时候,因为需求原因,要定义几个常量,但是这几个常量有可能改动,为了尽量不改动代码,就想能不能放到SpringBooot的配置文件中呢,毕竟配置文件先于SpringBoot的核心业务类加载,因此配置在配置文件中的属性便相当于有了static属性。具体的解决方案分为两大类:
1、自定义配置文件类进行读取;
bootstrap.properties中的属性内容如下:
|
|
创建实体类MyConfig。
注意:springboot1.5版本以下@ConfigurationProperties有两个属性locations(指定配置文件的所在位置),
当前的文件路径如下图所示:
|
|
需要注意的是:在自定义属性类中,属性文件的属性名中不能出现“_”等特殊字符,如“NET-PREFIX.REMOVE_USER_SESSION_URL”,否则可能导致属性无法读取的问题【亲测】。
2、非自定义配置文件类进行读取;
(1)@Value("${键名}")
|
|
(2)使用Environment,env.getProperty(“键名”)
|
|
综上所述,获取SpringBoot有两大类,三种方法。如果有代码洁癖,非要对属性进行分类管理的话,推荐使用自定义属性类的方法,这样可以对属性进行分类管理。