SpringBoot获取配置的几种方式
Posted 袖子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot获取配置的几种方式相关的知识,希望对你有一定的参考价值。
一、引入依赖
<!-- 核心启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
二、application.properties
server.port=9080 user.username=lin@j user.age=20
三、读取配置信息的几种方式
1. 利用@PropertySource获取resource目录下的资源,Environment获取属性
@Component @PropertySource(value = {"classpath:application.properties"}) public class PropertiesConfigOne { @Autowired private Environment environment; public void printProperties(){ String userName = environment.getProperty("user.username"); System.out.println("user.username:" + userName); String age = environment.getProperty("user.age"); System.out.println("user.age:" + age); } }
2. 利用@PropertySource获取resource目录下的资源,@ConfigurationProperties找到该资源的前缀, 通过getter、setter方法注入及获取配置
@Component @PropertySource(value = {"classpath:application.properties"}) @ConfigurationProperties(prefix = "user") public class PropertiesConfigTwo { //属性上不用使用@Value("${username}"), 这样会报错的 private String username; private Integer age; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public void printProperties(){ System.out.println("username:" + username); System.out.println("age:" + age); } }
3. 利用PropertiesLoaderUtil加载配置文件
@Component public class PropertiesConfigThree { public void printProperties() throws IOException { //PropertiesLoaderUtils是spring-core提供的 Properties properties = PropertiesLoaderUtils.loadAllProperties("application.properties"); System.out.println("user.username:" + properties.getProperty("user.username")); System.out.println("user.age:" + properties.getProperty("user.age")); } }
以上是关于SpringBoot获取配置的几种方式的主要内容,如果未能解决你的问题,请参考以下文章
一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式
一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式