SpringBoot获取配置文件的信息有很多,这里介绍比较常用的三种方式  默认获取的都是application.properties文件中的信息

1.application.properties配置文件内容如下:

server.port=80
spring.mvc.view.prefix=/jsp/
spring.mvc.view.suffix=.jsp

# 中文需要转换成为ASCII码,否则取值的时候是乱码
# 张三
demo.userName=\u5F20\u4E09
demo.userAge=19

2.自定义文件config.properties配置文件内容如下:

#中文需要转换成为ASCII码,否则取值的时候是乱码
#张三
demo.user.userName=\u5f20\u4e09
#女
demo.user.userSex=\u5973

一.使用@Value注解读取properties文件信息

代码如下:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * <h5>描述:使用@Value注解读取application.properties配置文件信息</h5>
 * 	默认放在resources目录下
 */
@Component
public class TestService {
	@Value("${server.port}")
	public String port;
	@Value("${spring.mvc.view.prefix}")
	public String prefix;
	@Value("${spring.mvc.view.suffix}")
	public String suffix;
	@Value("${demo.userName}")
	public String userName;
}

使用方式,直接调用即可

@Autowired
TestService testService;

@RequestMapping("readProperties")
public String readProperties(){
	System.out.println("使用@Value注解读取properties文件信息");
	System.out.println("port=["+testService.port+"]");
	System.out.println("port=["+testService.prefix+"]");
	System.out.println("port=["+testService.suffix+"]");
	
	return "port=["+testService.port+"]<br/>" +
			"prefix=["+testService.prefix+"]<br/>" +
			"suffix=["+testService.suffix+"]<br/>" +
			"userName=["+testService.userName+"]";
}

二.使用Environment读取properties文件信息

代码如下:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

/**
 * <h5>描述:使用Environment获取application.properties配置文件信息</h5>
 * 	默认放在resources目录下
 */
@Component
public class TestTwoService {
	@Autowired
	Environment environment;
	
	/**
	 * <h5>功能:使用Environment获取application.properties配置文件信息</h5>
	 * 
	 * @return 
	 */
	public String getProperties(){
		String userName = environment.getProperty("demo.userName");
		String userAge = environment.getProperty("demo.userAge");
		
		return "userName=[" + userName + "],userAge=[" + userAge + "]";
	}

使用方式,直接使用即可

三.使用@ConfigurationProperties注解读取properties文件信息

代码如下:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

/**
 * <h5>描述:使用@ConfigurationProperties注解获取指定配置文件信息</h5>
 * 	文件的根目录在resources目录下
 * @author zhangpj	2018年12月10日 
 */
@Component
@ConfigurationProperties(prefix = "demo.user")		// 用于绑定属性,其中prefix表示所绑定的属性的前缀。
//@PropertySource(value = "config.txt")	// 表示配置文件路径,只要内容格式一样,一样可以获取到信息
@PropertySource(value = "config.properties")	// 表示配置文件路径。
public class TestThreeService {
	private String userName;
	private String userSex;
	
	public String getUserName() {
		return userName;
	}
	public String getUserSex() {
		return userSex;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public void setUserSex(String userSex) {
		this.userSex = userSex;
	}
}

使用方式,直接调用对应的get方法即可

4.高级用法

请点击这里四种读取properties文件的方式