인프런 커뮤니티 질문&답변

돈우님의 프로필 이미지
돈우

작성한 질문수

스프링 부트 - 핵심 원리와 활용

외부 설정 사용 - Environment

외부 설정 관련 질문 입니다.

해결된 질문

작성

·

181

0

[질문 내용]
1. 외부 설정 강의에서 스프링이 지원하는 다양한 외부 설정 조회 방법으로 Environment랑 @Value랑 @ConfigurationProperties가 있다고 하셨는데, 이 방식들은 스프링 부트만 제공하는 것이아닌 스프링에서 제공하는 방법들인가요?? 
  1. Datasource 외부 설정 값을 주입받고 빈으로 등록하는 과정에서 @Configuration을 사용해서 @Bean을 등록하셨는데, Bean을 등록하는 방식으로 @Component사용해서 @ComponentScan을 통해 등록하는 방식도 있는걸로 압니다. 이 두 방식의 차이점이 있을까요?? 언제 @Configuration을 사용하고 언제 @Component를 사용해야할지 감이 잘안잡히네요ㅠㅠ
 감사합니다 !!

답변 1

0

안녕하세요. 돈우님, 공식 서포터즈 y2gcoder입니다.

  1. Environment, @Value 는 스프링 코어 기능 / @ConfigurationProperties 는 스프링 부트 기능이라고 생각하시면 될 것 같습니다!

     

  2. 쉽게 생각하면 @Configuration + @Bean 은 수동으로 스프링 빈을 등록하는 방법 / @ComponentScan + @Component 는 자동으로 스프링 빈을 등록하는 방법입니다. 주로 수동으로 스프링 빈을 등록해야 할 때는 앞서 말씀하셨던 Datasource 등록과 같이 애플리케이션 전체에서 사용하는 공통 기술 지원 로직을 빈으로 등록할 때 설정 정보를 주입하기 위해 사용하는 경우가 많은 것 같습니다. 그 외에는 거의 다 자동 빈 등록으로 처리가 가능했습니다! 추가로 해당 내용에 대해서 더 자세히 알고 싶으시다면 영한님의 스프링 핵심 원리 - 기본편 강의를 추천해드립니다!

감사합니다.

돈우님의 프로필 이미지
돈우

작성한 질문수

질문하기