Springboot로 토이 프로젝트를 작업하던 중 mySQL과 JPA 엔티티를 연동하던 과정에서 application.properties에 다음과 같은 설정이 필요하다는 것을 알게 되었다.
그러나 url와 계정명, 비밀번호는 유출되면 위험한 굉장히 민감한 정보이기에 이들을 변수 등의 방식으로 따로 다루는 것과 같은 대책이 필요하다.
다행히 springboot에서는 이렇게 민감한 정보를 은닉하는 기능을 지원한다.
application-mysql.properties라는 파일을 생성하고, 위와 같은 설정을 모두 그 파일에 집어넣는다. 당연히 이 파일은 .gitignore에 추가되어야 하는 이름이다.
이후 application.properties에 한 줄을 추가한다.
이제 application.properties는 application-mysql.properties가 가지고 있는 설정 코드를 가져온다. 만약 application-hello.properties에 관련 설정을 집어넣었다면 mysql이 아니라 hello로 바꾸면 될 것이다.
이렇게 하면 application.properties에 직접적으로 민감한 정보를 노출하는 일을 줄일 수 있게 된다.