springboot自定义properties配置文件

springboot虽然免除了绝大部分的配置文件设置,但是对于一些特定情况,还是有定义配置文件的需要。

一、配置文件的格式

SpringBoot可以识别.yml和.properties两种格式的配置文件。如果是自带classpath下的application.properties和application.yml,这两种都可以被SpringBoot自动识别并加载。

在application.properties,通过spring.profiles.active=xxx可以指定不同环境激活不同的配置文件,设置的激活参数dev, test, prod,对应的配置文件有:

application-dev.properties

application-test.properties

application-prod.properties

如果是自定义的配置文件,最好还是使用properties格式,因为SpringBoot中暂时还并未提供手动加载yml格式文件的功能。

二、自定义配置文件

1、自定义配置文件,如:

url.name=editMessage  
url.path=100120171116031838

2、定义获取配置文件的bean

@Component  
@ConfigurationProperties(prefix = "url")  
@PropertySource("classpath:config.properties",encoding = "utf-8")  
@Data
public class PropertiesEnv {  
   private String name;  
   private String path;  

}

3、通过注入配置文件的Bean使用属性

@Autowired PropertiesEnv propertiesEnv ;

4、用@Value注解使用

5、使用Environment

先注入@Autowired private Environment env;

然后env.getProperty("url.name")

6、自实现PropertiesLoaderUtils

7、SpringBoot中使用@Value()只能给普通变量注入值,不能直接给静态变量赋值,如果要赋值给静态变量,可以使用

经验分享 程序员 微信小程序 职场和发展