스프링에서 설정 값을 가져오는 방법
25 Jul 2024스프링에서 application.properties나 application.yml 파일에 설정된 값들을 가져오는 다양한 방법을 알아보자.
코드에 하드코딩하지 않고 properties 파일에 저장한 값을 읽어들이는 방법을 사용하는 이유는 다양하다.
- 환경에 따른 설정 분리
- 하드코딩된 값은 코드에서 수정해야 하기 때문에 환경마다 다르게 설정하려면 코드 자체를 수정해야 한다.
- properties 파일에 설정하고 profile 설정을 하면 개발, 테스트, 운영 환경 등 각 환경에 따라 다른 설정 파일을 만들어 관리할 수 있다.
- 보안 강화
- 중요한 정보(데이터베이스 비밀번호, AWS 키, 토큰 비밀번호 등)를 코드에 하드코딩하면 보안상 위험이 있다.
- 외부 설정 파일을 사용하면 .gitignore 에서 설정하여 형상관리에서 제거할 수도 있고 따로 파일을 관리할 수도 있다.
그러면 사용 방법들을 알아보자.
Environment
Environment 객체를 주입해서 getProperty 메서드로 properties 값을 가져올 수 있다.
@Value
@Value 어노테이션으로 properties 값을 가져올 수 있다.
@Value(“${프로퍼티}”) 이런식으로 ${}로 감싸는 형태로 작성한다.
@ConfigurationProperties
@ConfigurationProperties는 설정값을 객체 형태로 바인딩할 때 사용.
개인적으로 이 방법이 코드도 깔끔하다고 생각한다.