알이즈웰
property 사용 본문
Spring에서 텍스트를 프로퍼티로 만들어서 사용하는 방법
사용 이유는 Java단에서 자주 쓰는 URL이나 문자열을 프로퍼티로 저장해서 써먹으려고 하는 것이당.
예를 들면 아래와 같이 써먹고 싶은거임.
// ... String url = configProperties.deliveryTrackingUrl;
//http://yodurumi.tistory.com/tracking
// ...
해야할 일은
1. properties파일을 생성하여 원하는 값들을 정의한다.
2. 설정 xml 파일에 해당 프로퍼티 파일을 선언한다.
3. controller단 혹은 써먹고 싶은 파일에 선언하여 써먹는다.
1. 프로퍼티파일명.properties
delivery.tracking.url=http://yodurumi.tistory.com/tracking
2. 설정XML파일명.xml
<util:properties id="comm" location="classpath:/config/${spring.profiles.active}/common.properties">
3. 사용하고자 하는 java파일
//아래와 같이 선언 후 써먹으면됨 @Value("#{comm['delivery.tracking.url']}") public String deliveryTrackingUrl; //... String url = configProperties.deliveryTrackingUrl;
* 참고
위 프로퍼티 파일 경로 중 ${spring.profiles.active}는 운영, 개발 등 한 프로젝트 소스를 여러 버전으로 관리할 경우 현재 작업중인 버전으로 설정하여 개발하기 위해 넣은 것이다.
예를 들면, common.properties의 각 프로퍼티가 개발서버와 로컬에서 적용하여 쓰는 값이 다를 경우 local버전의 프로퍼티 파일과 개발버전의 프로퍼티 파일을 다르게 관리할 것이므로, 로컬에서 개발을 진행할때에는 JVM 변수 spring.profiles.active를 로컬 경로명으로 설정하여 작업한다.
- spring.profiles.active 설정
- 버전별 properties파일 예시
참고
http://stove99.tistory.com/152
* 추가
view단에서 프로퍼티를 사용하고 싶다면!
jsp에서 선언 후 아래와 같이 써먹으면 된다.
//선언 <spring:eval expression="@comm" var="config" scope="request"/> //사용 function preview(id){ var URL = "<spring:eval expression="@comm['delivery.tracking.url']"/>/test.do"; }
참고
'Programming > SPRING' 카테고리의 다른 글
[SpringBatch] Job별 Redis class 설정 (0) | 2021.07.12 |
---|