application.properties??

권 해·2023년 1월 4일
0

Spring

목록 보기
3/9
post-thumbnail

스프링 프로젝트 구조를 보면 자동으로 resource 디렉토리 안에 application.properties라는 파일이 만들어진다. 전에는 그냥 여기에 db 연결에 대한 정보같은걸 넣는구나 생각하기만 했는데 이 파일이 어떤 역할을 하고, 어떻게 사용되는지 궁금해 졌다.

application.properties파일에서는 스프링부트 구동시 동작할 포트정보, db정보 등 여러가지 세팅 관련된 데이터나 별도의 경로 옵션들의 값을 저장하고 사용된다. 기본 파일 위치는 /src/main/resources 아래에 존재하며, 구동시 자동으로 감지되므로 별도로 properties파일의 위치를 명시할 필요가 없다. properties에서 자바 응용프로그램 내에서 사용되는 설정과 관련된 변수들을 파일에다가 쓰고, 읽어오는 방식으로 사용된다. 이 설정 파일은 외부에서 파일을 넣을 수도 있고, 프로젝트 내부적으로도 넣어서 사용할 수 있다.

그렇다면 왜 이 변수들을 따로 이 파일에 저장하는 것일까?
내가 이해하기론 이렇다.
예를들어 개발을 하면서 로컬 서버에서 구동할때, 개발서버에서 구동할 때 실 서버에서 구동할 때 모두 설정 변수 값이 다르다. 이럴 때 여러 properties파일을 만들어 각각 바꿔 끼워 주기만 하면 소스코드를 고칠 필요없이 편하게 사용할 수 있다. 그리고 properties파일을 쓰지않고, 프로젝트 안에 그 내용이 포함되어 있다면, 다른 개발환경이 되어 이를 수정할 필요가 있을때, 수정하고 새로 빌드하여 배포해야 한다. 하지만 필요한 properties 파일을 여러개 만들어 놓고 갈아 끼우기만 한다면 properties파일에 포함된 키-값들을 자동으로 스프링 부트가 로딩하기 때문에, 다시 빌드할 필요가 없다.

그냥 지나칠 뻔했던 파일 하나도 생각보다 중요한 역할을 하고 있었다.

0개의 댓글