SpringBoot 는 properties 나 application.yml 프로필 의 데 이 터 를 읽 습 니 다.
10025 단어 SpringBoot읽 기ymlproperties
application.yml 또는 properties 파일 에 추가:
user.address=china
user.company=demo
user.name=
1.@Value 주 해 를 사용 하여 읽 기직접 코드 는 다음 과 같 습 니 다:
package im.homeapi.controller;
import org.springframework.beans.factory.annotation.Value;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RestController
@RequestMapping(value="/api")
public class HomeController {
@Value("${user.address}")
private String address;
@Value("${user.company}")
private String company;
@Value("${user.name}")
private String name;
//value ,method
@RequestMapping(value = "/home",method = RequestMethod.GET)
public String Home()
{
return "Hello Word";
}
@RequestMapping(value = "/getConfig")
public String getConfig() {
return " :" +
" name=" + name +
" address=" + address +
" , company=" + company;
}
}
단독 설정 클래스 에서 읽 기:
package im.homeapi.entity;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class UserConfig {
@Value("${user.address}")
private String address;
@Value("${user.company}")
private String company;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Value("${user.name}")
private String name;
}
다음 호출:
@Autowired
private UserConfig userConfig;
//
@RequestMapping(value = "/getConfigEntity")
public String getConfigEntity() {
return " :" +
" name=" + userConfig.getName() +
" address=" + userConfig.getAddress() +
" , company=" + userConfig.getCompany();
}
실행 결 과 는 다음 과 같 습 니 다.2.@ConfigurationProperties 주석 읽 기 방식 사용
코드 는 다음 과 같 습 니 다:
package im.homeapi.entity;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "user")
public class UserConfig1 {
private String address;
private String company;
private String name;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
호출:
package im.homeapi.controller;
import im.homeapi.entity.UserConfig;
import im.homeapi.entity.UserConfig1;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RestController
@RequestMapping(value="/api")
public class ConfigController {
@Autowired
private UserConfig1 userConfig;
// ConfigurationProperties
@RequestMapping(value = "/getConfigEntity1")
public String getConfigEntity() {
return " :" +
" name=" + userConfig.getName() +
" address=" + userConfig.getAddress() +
" , company=" + userConfig.getCompany();
}
}
실행 결과:3.지정 한 파일 읽 기
3.1,@PropertySource+@Value 주석 읽 기 방식
resources 에서 config/db-config.properties 새 설정
메모:@PropertySource 는 yml 파일 읽 기 를 지원 하지 않 습 니 다.
db.username=root
db.password=123456
그림:코드:
package im.homeapi.entity;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource(value = { "config/db-config.properties" })
public class DBConfig {
@Value("${db.username}")
private String username;
@Value("${db.password}")
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
호출 코드:
package im.homeapi.controller;
import im.homeapi.entity.DBConfig;
import im.homeapi.entity.UserConfig;
import im.homeapi.entity.UserConfig1;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RestController
@RequestMapping(value="/api")
public class DbController {
@Autowired
private DBConfig dbConfig;
// PropertySource+@Value
@RequestMapping(value = "/getConfigdb")
public String getConfigdb() {
return " :" +
" name=" + dbConfig.getUsername() +
" , password=" + dbConfig.getPassword();
}
}
실행 결과:3.2,@PropertySource+@ConfigurationProperties 주석 읽 기 방식
코드:
package im.homeapi.entity;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "db")
@PropertySource(value = { "config/db-config.properties" })
public class DBconfig1 {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
호출 코드:
@Autowired
private DBconfig1 dbConfig1;
// @PropertySource+@ConfigurationProperties
@RequestMapping(value = "/getConfigdb1")
public String getConfigdb1() {
return " :" +
" name=" + dbConfig1.getUsername() +
" , password=" + dbConfig1.getPassword();
}
실행 결과:@Component 는 이 종 류 를 Bean 으로 표시 합 니 다.
@ConfigurationProperties(prefix="db")는 바 인 딩 속성 에 사용 되 며,prefix 는 바 인 딩 된 속성의 접 두 사 를 표시 합 니 다.
@PropertySource(value="config/db-config.properties")는 설정 파일 경 로 를 표시 합 니 다.
4.Environment 로 읽 기
코드:
@Autowired
private Environment environment;
// CEnvironment
@RequestMapping(value = "/getConfigenv")
public String getConfigenv() {
return " :" +
" name=" + environment.getProperty("user.name") +
" address=" + environment.getProperty("user.address") +
" , company=" + environment.getProperty("user.company");
}
실행 결과:총결산
상기 예 시 를 보면 Spring Boot 는@PropertySource,@Value,@Environment,@ConfigurationProperties 를 통 해 변 수 를 연결 할 수 있 습 니 다.
SpringBoot 에서 properties 나 application.yml 프로필 의 데 이 터 를 읽 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 SpringBoot 에서 설정 데이터 내용 을 읽 는 것 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.