2020년 3월 7일 토요일

[spring] 개발환경에 따른 .properties 파일 로딩

spring 에서 resource.path=localhost:8080/resource 라는 프로퍼티정보를 사용

로컬 개발 스테이징 운영 별로 프로젝트 배포시 매번 서버 환경에 따라 프로퍼티를

수정 후 배포해야하는 번거로움이 있음

local.xxx.properties, dev.xxx.properties, stg.xxx.properties, prod.xxx.properteis 파일 을 생성
후 resource.path 매핑 값을 각 환경에 맞게 작성

로컬의 경우

톰캣 vm 서버 환경에 Open launch Configuration 에서 arguments 탭에

-Dspring.profiles.active="dev"

내용을 삽입

리눅스 개발서버의 경우

톰캣 경로의 bin 에 setenv.sh 실행 파일을 생성 소유주및 파일권한 수정후

export JAVA_OPTS="-Dspring.profiles.active=dev"

내용 입력 저장

xml 설정 파일 프로퍼티즈 경로 입력 부분에서

<value>
classpath:config/#{systemProperties['spring.profiles.active']}.xxx.properties
</value>

위치럼 시스템 변수를 지정


JAVA 코드에서 참조시

@Configuration
@PropertySource({"classpath:config/${spring.profiles.active}.xxx.properties"})
@Service

인젝션되는 Enviroment 참조 경로 지정

서버를 시작하게되면 이클립스 로컬에서는 local.xxx.properties 를 참조하고

개발 환경에서는 dev.xxx.properties 를 참조하게된다.


댓글 없음:

댓글 쓰기

[oracle]백업및 복구

[oracle]백업및 복구 오라클 덤프 백업및 복구 윈도우 서버 기반 간단 정리 --디렉터리 조회 sqlplus 또는 dbtool 입력시작 SELECT * FROM DBA_DIRECTORIES ; --D:...