SpringBoot入門十 ,獲取配置文件信息
阿新 • • 發佈:2018-12-10
nvi () 表示 ram auth 其中 config ont beans
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方法即可
高級用法,請點擊這裏四種讀取properties文件的方式
SpringBoot入門十 ,獲取配置文件信息