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 를 참조하게된다.


댓글 없음:

댓글 쓰기

[lunux]리눅스 폴더별 용량 확인

리눅스 폴더별 용량 확인 조회 하고자 하는 디렉토리 리스트가있는 경로로 이동후 du -h --max-depth=1