SpringBoot 에서 yml 파일 설정 을 읽 고 value 를 가 져 오지 못 하 는 경우
4069 단어 SpringBoot
#yml
system:
url:127.0.0.1:8090
// ,
@Value("${system.url}")
private String url;
void a(){
String b = url+"/img";
}
value 가 가 져 올 수 없 는 상황 이 발생 하면 pom 프로젝트 가 의존 하 는 지 확인 하 십시오.
http://blog.51cto.com/jtech/2114686
1. spring 구성 요소 재 작성 구조 방법 은 구조 방법 에서 @ value 를 null 로 참조 합 니 다.
스프링 실례 화 순 서 는 먼저 구조 방법 을 집행 하고 구성원 변 수 를 주입 하기 때문에 순 서 는 먼저 구조 방법 을 집행 한 다음 에 구성원 변 수 를 주입 한다. 따라서 ing 실례 화 순 취 값 은 null 해결 방법 은 다음 과 같다. 상수 류 를 하나 더 쓰 고 상수 류 에서 @ value 를 인용 한 다음 에 구조 방법 에서 상수 류 의 변 수 를 인용 하면 된다.
둘째, spring 구성 요 소 를 호출 할 때 @ Autowired 가 아 닌 new 대상 을 사용 합 니 다.
3. final 또는 static 로 구성원 변 수 를 수식 합 니 다.
4. spring mvc 에서 @ value 를 null 로 참조 합 니 다.
spring mvc 는 spring 의 하위 용기 입 니 다. 두 프로필 에서 모두 프로필 을 가 져 와 야 합 니 다.
아래https://blog.csdn.net/ClementAD/article/details/51970962
spring boot 에서 설정 파일 (application. yml) 의 다양한 유형의 속성 값 을 간단하게 읽 습 니 다. 1. 도입 의존:
org.springframework.boot
spring-boot-configuration-processor
true
2. 프로필 (application. yml) 에서 각 속성의 값 을 설정 합 니 다.
myProps: #
simpleProp: simplePropValue
arrayProps: 1,2,3,4,5
listProp1:
- name: abc
value: abcValue
- name: efg
value: efgValue
listProp2:
- config2Value1
- config2Vavlue2
mapProps:
key1: value1
key2: value2
3. 설정 정 보 를 받 기 위해 bean 을 만 듭 니 다:
@Component
@ConfigurationProperties(prefix="myProps") // application.yml myProps
public class MyProps {
private String simpleProp;
private String[] arrayProps;
private List
시작 하면 이 bean 의 속성 은 설정 값 을 자동 으로 받 습 니 다.
4. 유닛 테스트 사례:
@Autowired
private MyProps myProps;
@Test
public void propsTest() throws JsonProcessingException {
System.out.println("simpleProp: " + myProps.getSimpleProp());
System.out.println("arrayProps: " + objectMapper.writeValueAsString(myProps.getArrayProps()));
System.out.println("listProp1: " + objectMapper.writeValueAsString(myProps.getListProp1()));
System.out.println("listProp2: " + objectMapper.writeValueAsString(myProps.getListProp2()));
System.out.println("mapProps: " + objectMapper.writeValueAsString(myProps.getMapProps()));
}
테스트 결과:
simpleProp: simplePropValue
arrayProps: ["1","2","3","4","5"]
listProp1: [{"name":"abc","value":"abcValue"},{"name":"efg","value":"efgValue"}]
listProp2: ["config2Value1","config2Vavlue2"]
mapProps: {"key1":"value1","key2":"value2"}
소스 코드 참조:https://github.com/xujijun/my-spring-boot
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.