Notice
Recent Posts
Recent Comments
Link
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- java
- SVN
- 메뉴얼
- jenkins
- 1773번
- subversion
- docker
- bekjoon
- putty
- MAC
- install
- jaekjoon java
- javascript
- ora-01476
- baekjoon
- linux
- jsonb select
- boj
- PostgreSQL
- 제수가 0입니다
- DBeaver
- 백준 java jaekjoon JAVA
- rocky linux
- Oracle
- 환경번수
- Rocky Linux 9
- 사용법
- 백준 JAVA
- 백준
- 자바
Archives
기록하는 개발자
여러가지 환경에 유동적인 settings.profile 설정 본문
- 여러가지 환경에서 개발 및 유지보수를 해야할때 settings.profile 값에 따른 여러 환경을 설정할 수 있다.
서버별 다른 DB를 사용한다는 가정하에 예시 코드를 작성
- global.properties
##여러가지 셋팅을 지정하고 값에 따라 유동적으로 변환 가능
settings.profile=local
## 공통 설정
DB.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
##운영 서버 설정
operation.DB.url.ip=[ip주소]
operation.DB.username=[username]
operation.DB.password=[password]
##로컬 서버 설정
local.DB.url.ip=[ip주소]
local.DB.username=[username]
local.DB.password=[password]
##테스트 서버 설정
test.DB.url.ip=[ip주소]
test.DB.username=[username]
test.DB.password=[password]
운영서버, 로컬서버, 테스트 서버가 존재한다는 가정하에 각각 사용되는 디비의 설정을 작성
공통으로 적용되는 부분의 경우는 한가지만 생성하여 사용할 수 있다.
settings.profile에 기입하는 정보에 따라 각기 다른 설정을 적용할 수 있다.
- context-datasource.xml
<!-- context-datasource.xml -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${DB.driverClassName}" />
<property name="url" value="${${settings.profile}.DB.url.ip}" />
<property name="username" value="${${settings.profile}.DB.username}" />
<property name="password" value="${${settings.profile}.DB.password}" />
<property name="maxActive" value="10" />
<property name="maxIdle" value="10" />
<property name="maxWait" value="10" />
</bean>
"driverClassName" 같은 경우는 공통으로 사용하기 때문에 value에 ${DB.driverClassName} 를 기입하여 사용한다.
이외의 각각 상황별 다른 정보가 들어가는 부분은 ${${settings.profile}.DB.url.ip} 형태로 작성하는데
settings.profile 에 "local"를 기입했다면${local.DB.url.ip}의 정보를 가져온다.
개인적으로 정리한 내용을 간단하게 풀어 작성했습니다. 이해가 안가는 부분은 댓글 남겨주시면 설명해드리겠습니다. |
'웹 개발 > Spring' 카테고리의 다른 글
Comments