개발자 마다 DB ID / PW가 다르고 각자의 자리에서만 접속이 가능한 환경
Spring profiles 을 local/dev, stage, prod 로 구분 해 놓았지만, application-xxx.properties 나 application-xxx.yml 에 들어 있는 내용을 커밋 하는 경우 나의 DB 비번이 모두에게 공유됨
첫째로, 보안상 문제
둘때로, 다른 개발자가 매우 귀찮아 함.
VM 실행시 커맨드라인에서 필요한 변수를 주입 해보자
1. VM 실행시 -D 옵션으로 주입 하는 방법
application-xxx.propertis 예
spring.datasource.username: ${db.user}
spring.datasource.password: ${db.password}
application.xxx.yml 예
spring:
datasource:
username: ${db.user}
password: ${db.password}
통합개발환경 Run/Debug Configurations 의 VM 옵션에 아래 내용을 추가
-Ddb.user=my_db_userid -Ddb.password=my_db_password
IntelliJ 예시
2. 스프링 환경 변수를 이용하는 방법
통합개발환경 Run/Debug Configurations 의 VM 옵션에 아래 내용을 추가
-Dspring.application.json="{\"spring.datasource.username\":\"my_db_userid\",\"spring.datasource.password\":\"my_db_password\"}"
application.properties, application.yml 의 설정 보다 우선 순위 이므로 설정파일에 값이 있건 없건 VM 옵션으로 지정한 값으로 주입됨
끝.
'Java' 카테고리의 다른 글
log4j 취약점(CVE-2021-44228) 점검 방법 - jar파일 스캔 (0) | 2021.12.13 |
---|---|
주민번호 규칙 (0) | 2019.11.26 |
Spring Polymorphism과 Factory Pattern에 대한 고찰 (0) | 2019.04.19 |
[서블릿 개발하기] #7 Servlet 들여다 보기 (0) | 2019.04.17 |
[서블릿 개발하기] #6 GET/POST 요청과 함께 파라메터 전달 하기 (0) | 2019.04.16 |