외부 설정 관련 질문 입니다.
[질문 내용]
1. 외부 설정 강의에서 스프링이 지원하는 다양한 외부 설정 조회 방법으로 Environment랑 @Value랑 @ConfigurationProperties가 있다고 하셨는데, 이 방식들은 스프링 부트만 제공하는 것이아닌 스프링에서 제공하는 방법들인가요??
- Datasource 외부 설정 값을 주입받고 빈으로 등록하는 과정에서 @Configuration을 사용해서 @Bean을 등록하셨는데, Bean을 등록하는 방식으로 @Component사용해서 @ComponentScan을 통해 등록하는 방식도 있는걸로 압니다. 이 두 방식의 차이점이 있을까요?? 언제 @Configuration을 사용하고 언제 @Component를 사용해야할지 감이 잘안잡히네요ㅠㅠ
답변 1
0
안녕하세요. 돈우님, 공식 서포터즈 y2gcoder입니다.
Environment, @Value 는 스프링 코어 기능 / @ConfigurationProperties 는 스프링 부트 기능이라고 생각하시면 될 것 같습니다!
쉽게 생각하면 @Configuration + @Bean 은 수동으로 스프링 빈을 등록하는 방법 / @ComponentScan + @Component 는 자동으로 스프링 빈을 등록하는 방법입니다. 주로 수동으로 스프링 빈을 등록해야 할 때는 앞서 말씀하셨던 Datasource 등록과 같이 애플리케이션 전체에서 사용하는 공통 기술 지원 로직을 빈으로 등록할 때 설정 정보를 주입하기 위해 사용하는 경우가 많은 것 같습니다. 그 외에는 거의 다 자동 빈 등록으로 처리가 가능했습니다! 추가로 해당 내용에 대해서 더 자세히 알고 싶으시다면 영한님의 스프링 핵심 원리 - 기본편 강의를 추천해드립니다!
감사합니다.
보안이 엄격한 데이터
0
74
1
MyProperties 자체를 클라이언트 코드에서 사용
1
45
1
http://localhost:8080/actuator/prometheus
0
86
3
jar 추가에대한 질문드려도될까요?
0
66
1
build.gradle bom link 변경
0
68
2
@Counted 초기화
0
49
1
@Validated를 적용해도 빈 검증이 안되는 경우에 대한 조치 공유..
0
104
2
springboot에서 actuator없이 micrometer를 사용할수 있나요?
0
68
1
@Configuration 질문드립니다.
0
86
2
[공유] 터미널 말고 IDE 에서 jar 실행하기
0
102
1
localhost:8080/hello-servlet 404오류
0
125
2
내장톰캣2 서블릿 톰켓 실행이 안됩니다
1
154
2
최대 Tomcat 스레드 수를 확인하는 지표
0
162
1
mac m2에서 startup.sh 실행후 아무 반응이 없습니다.
0
95
2
내장 톰캣 실행 오류 관련 질문드립니다.
0
160
1
스프링 발전 과정들도 자세히 알아둬야하나요??
1
129
1
스프링부트 ioc 컨테이너 갯수
0
90
1
404 페이지
0
135
3
actuator 호출시 타임스탬프 질문
0
91
1
순수 라이브러리 사용하기 2 - memory-v1
0
126
1
외부설정 @ConfigurationProperties의 내부 클래스에서 static을 사용하는 이유를 알고 싶습니다.
0
105
1
서블릿 컨테이너 초기화1 강의 관련 질문입니다~
0
95
1
Thread Config Max 패널 설정 변경 질문
0
129
1
스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.
0
110
1





