티스토리 뷰
728x90
🔎 상황
- 하나의 property로 설정값들을 관리하니, 매번 주석처리를 하는게 불편하고, 갯수가 많아지다보니 실수가 잦아졌다.
맨 처음에는 로컬,개발,운영 이렇게 세가지로만 나누어져있었는데, 점점 고객사별로 개발, 운영이 추가되고..관리가 힘들어졌다. 따라서 properties를 분리 할 필요성이 생겼다.
1. properties 분리하기
기본 globals.properties에는 active 만 놓고,
local용 aws-dev용으로 별도 파일을 생성하여 DB정보 API연동 정보 등을 작성했다.
*active에는 빌드시 사용할 properties의 이름을 작성한다.
2. 설정파일 변경
2.1 properties 파일 변수로 등록하기.
util은 properties를 변수로 사용할 수 있게끔 등록을 해준다. 등록 후 #{id[key값]}을 이용해서 사용 할 수 있다.
(util의 의미를 잘 몰라서 좀 헤맸었다.😥)
따라서 어디에서 선언을 하든 상관이 없는데, xml 파일이 읽어지는 순서에 유의해서 변수로 사용기전에 작성을 해줘야한다.
//global의 이름으로 globals.properties를 등록
//다른 xml이나 java 내에서 global이라는 이름으로 globals.properties 내의 값들을 사용 할 수 있다.
<util:properties id="global" location="classpath:/egovframework/egovProps/globals.properties"/>
//globals.properties 내의 'active'값을 읽어와 properties를 prop라는 이름으로 등록한다.
<util:properties id="prop" location="classpath:/egovframework/egovProps/globals-#{global['active']}.properties"/>
//만약 globals.properties 내의 active 값이 local이라면 위의 location은 아래와 같다.
//location="classpath:/위치/globals-local.properties"
✨만약, 아래와 같이 PropertyPlaceholderConfigurer가 있으면 location도 함께 변경해주어야 한다.
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:/egovframework/egovProps/globals-#{global['active']}.properties"/>
</bean>
나는 아래와 같이 context 관련 된 것도 있어서 변경을 해주었다.
<context:property-placeholder location="classpath:/egovframework/egovProps/globals-#{global['active']}.properties" />
'백엔드 > spring' 카테고리의 다른 글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- java
- 코딩테스트
- 전자정부프레임워크
- 현대코테
- 도커
- 코테
- 리액트
- tomcat
- java 코테
- Docker
- Spring
- Kubernetes
- Linux
- 쿠버네티스
- centos
- 현대오토에버
- javascript
- mysql
- 오토에버코테
- 자바
- softeer
- react
- 스프링
- 자바코테
- softeer java
- 톰캣
- 현대
- 자바스크립트
- springboot
- 아파치카프카
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함