백엔드 개발 · 기초
Spring의 프로파일(Profile) 기능은 무엇이며, 어떻게 활용하나요?
힌트 · 환경별 설정 분리와 @Profile 애노테이션 사용을 생각해보세요.
환경 구성빈 설정활성화application.properties@Profile
모범답안
Spring 프로파일은 애플리케이션을 다양한 환경(개발, 운영, 테스트 등)에 맞춰 구성할 수 있도록 해주는 기능입니다. 예를 들어, 개발 환경에서는 로컬 DB를 사용하고 운영 환경에서는 실제 DB를 사용하도록 설정할 수 있습니다.
@Profile 애노테이션을 사용해서 특정 프로파일에서만 활성화되는 빈을 정의할 수 있습니다. 그리고 application.properties 또는 application.yml 파일에서 spring.profiles.active 속성을 설정하여 활성화할 프로파일을 지정합니다.
이렇게 하면 환경별로 필요한 빈들만 로드하여 애플리케이션을 실행할 수 있어서, 코드 변경 없이 배포 환경에 따라 유연하게 설정할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Java / Spring 면접 질문
- Java의 Optional 클래스는 왜 만들어졌고, 어떻게 사용하나요?
- Java의 equals()와 hashCode() 메서드를 왜 함께 오버라이드해야 하나요?
- Java의 Checked Exception과 Unchecked Exception의 차이점과 사용 지침에 대해 설명해주세요.
- Java의 String, StringBuilder, StringBuffer의 차이점은 무엇인가요?
- Spring의 @Transactional 애노테이션의 propagation 속성에 대해 설명하고, REQUIRED와 REQUIRES_NEW의 차이점을 설명해주세요.
- Spring Bean의 생명주기(Lifecycle)에 대해 설명해주세요. 초기화와 소멸 콜백은 어떻게 처리하나요?