[Java, Spring] application.properties란 ?
application.properties란 ?
application.properties 파일은 런타임 시 다양한환경에서 동작할 수 있도록 필요한 옵션들을 제공하는데 사용됩니다.
예를 들자면 메일 서버를 구축하거나 DB 종류별 설정, 로그사용 여부 등의 설정이 가능합니다.
직접 커스텀 옵션 값을 추가할 수도 있고, Spring에서 사용하는 디폴트 옵션들을 바꿀 수 있습니다.
Spring Document를 통해 application.properties에서 사용한 디폴트 옵션들을 직접 확인하실 수 있습니다 !
application.properties을 사용하는 이유
환경 분리
application.properties을 사용하는 이유에는 다양한 이유가 있겠지만 가장 큰 이유 중 하나는 애플리케이션을 배포할 때 개발 단계, 테스트 단계, 운영 단계 등 다양한 환경에 따라 속성 값들이 달라질 수 있기 때문입니다.
개발, 테스트, 운영 환겨에서 DB 정보나 로그 레벨 등이 다르게 설정해야될 경우 각 환경에 맞게 설정들을 분리함으로써 배포 시 오류를 줄일 수 있고 유지보수도 간편해집니다.
간편한 구성
application.properties 파일은 설정 정보를 키-값 쌍의 형식으로 저장하므로, 구성 정보를 간단하게 작성할 수 있습니다. 코드에서 구성 정보를 하드코딩하지 않고, 런타임에 쉽게 변경할 수 있습니다.
외부 구성 소스와의 통합
Spring은 application.properties 파일 외에도 다양한 외부 구성 소스와 통합할 수 있습니다. 예를 들어 YAML파일, 환경 변수, 커맨드 라인 인자, JNDI 등 다양한 소스에서 구성 정보를 가져와서 사용할 수 있습니다. 이를 통해 Spring은 유연하게 구성 정보를 관리할 수 있습니다.
정리
application.properties은 Spring 공식 문서에 애플리케이션을 구성하는데 사용할 수 있는 공통 애플리케이션 속성이라고 정의되어있다.
application.properties에 설정한 값은 Spring framwork에서 제공하는 @Value 어노테이션을 통해 사용가능합니다 !