![[Java, Spring] application.properties란 ?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdODEoz%2FbtsIR2M2o7F%2FdReyN1psO7PTkdaDwjzFb1%2Fimg.png)
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 어노테이션을 통해 사용가능합니다 !
'프로그래밍 > Java' 카테고리의 다른 글
[Java, 자바] 중첩 클래스와 내부 클래란 ? (1) | 2024.07.29 |
---|---|
[Java, Spring] Logging, @Slf4j란 ? (0) | 2024.07.29 |
[Java, 자바] 날짜와 시간 클래스에 대하여 (0) | 2024.07.19 |
[Java, 자바] Enum에 대하여 (0) | 2024.07.16 |
[Java, 자바] Wrapper Class에 대하여 (1) | 2024.07.14 |
개발의 모든 것 !
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!