Spring @ Value: Properties 프로필 읽 기
2803 단어 Spring기 언 의 보물 상자SpringMVC
다음은 Spring @ Value: Properties 프로필 읽 기
1.1 전제
테스트 속성 파일: advancevalue_inject.properties
server.name=server1,server2,server3
#spelDefault.value=notdefault
HelloWorld_=sss
테스트 클래스 AdvanceValueInject: advance 도입value_inject. properties 파일, 속성 으로 주입
@Component
@PropertySource({"classpath:com/hry/spring/configinject/advance_value_inject.properties"})
public class AdvanceValueInject {
...
}
1.2 \ # {...} 과 ${...}
${...} 사용법 {} 안에 있 는 내용 은 SpEL 표현 식 에 부합 되 어야 합 니 다. 자세 한 문법 은 나중에 새로운 글 을 열 어 소개 할 수 있 습 니 다. @ Value ("${spelDefault. value}") 를 통 해 속성 파일 에 대응 하 는 값 을 가 져 올 수 있 지만 속성 파일 에 이 속성 이 없 으 면 오류 가 발생 할 수 있 습 니 다.기본 값 을 부여 하여 이 문 제 를 해결 할 수 있 습 니 다. 예 를 들 어
@Value("${spelDefault.value:127.0.0.1}")
자세 한 코드 는 다음 과 같 습 니 다. // spelDefault.value,
// @Value("${spelDefault.value}")
// private String spelDefault2;
// default.value ,
@Value("${spelDefault.value:127.0.0.1}")
private String spelDefault;
\ # {...} 사용법 간단 한 사용법 만 보 여 줍 니 다.
// SpEL: Hello World concat
@Value("#{'Hello World'.concat('!')}")
private String helloWorld;
// SpEL: getBytes , length
@Value("#{'Hello World'.bytes.length}")
private String helloWorldbytes;
${...} 과 \ # {...} 을 섞 어 사용 합 니 다.
${...} #{...}
다음 코드 실행 순서 와 같이 혼합 하여 사용 할 수 있 습 니 다. ${server. name} 을 통 해 속성 파일 에서 값 을 가 져 와 교체 한 다음 에 SpEL 표현 식 {'server 1, server 2, server 3'. split (',')} 을 실행 합 니 다. // SpEL: , "," , #{} ${} ( , ${} ,#{} )
@Value("#{'${server.name}'.split(',')}")
private List servers;
위의 글 에서
#{} ,${}
실행 에 성공 할 수 있다 면 반대로 할 수 있 습 니까? ${} ,#{}
예 를 들 어 코드 와 같 습 니 다. // SpEL: ${} ,#{} ,
@Value("${#{'HelloWorld'.concat('_')}}")
private List servers2;
답 은 안 돼.spring 이 ${} 을 실행 하 는 것 은 시간 이 \ # {} 보다 빠 르 기 때 문 입 니 다.이 예 에서 Spring 은 속성 에서 \ # {'Hello World'. concat ('')} 을 찾 으 려 고 시도 합 니 다. 찾 을 수 있 습 니 다. 위 에서 알 고 있 는 것 을 찾 지 못 하면 오 류 를 보고 합 니 다.그래서
${} ,#{}
불법 조작 입 니 다.작은 매듭
#{} ,${}
:
https://blog.csdn.net/hry2015/article/details/72453920
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.