강의를 듣다가 궁금한점이 생겼습니다 .
156
작성한 질문수 51
강의에 보면 .
@ComponentScan 일떄도 @Configure 어노테이션을 타고
@EnableAutoConfiguration 일떄도 @Configure 등록을 하는데 ...
두개의 차이점이 멀까요 ???
ComponentScan은 그냥 개인이 작성한거를 가지고 와서 Bean등록하는거고 ..
EnableAutoConfiguration 에서는 등록되어있는거를 가지고 와서 조건에 맞게 제외하던가 .적용하던가 하는 그차이인가요 ???두개다 등록이 되는거에 대한 차이를 모르겠습니다 .
답변 1
6
@Configure 어노테이션이라고 칭하시는게 어떤 것들인지 정확히 모르겠는데요. 혹시 @Configuration을 말하시는건가요?
@ComponentScan은 스프링 프레임워크가 제공하는 기능으로, 특정 패키지 이하에 있는 모든 클래스를 순회하면서 그 위에 @Configuration, @Component 같은 애노테이션이 붙은 클래스를 빈으로 등록해줄 때 사용이 됩니다. 스프링 부트가 제공하는 자동 설정용 클래스에도 @Configuration이 붙어있으니 그 경로가 @ComponentScan에 포함이 되면 빈으로 등록이 될 수 있긴합니다만, 스프링 부트가 제공하는 자동설정은 보통 컴포넌트 스캔으로 읽어오진 않습니다. (기술적으로는 그래도 되긴 하지만)
그리고 @EnableAutoConfiguration은 스프링 부트가 제공하는 기능으로, 스프링 부트가 만든 여러 자동 설정을 사용하도록 기능을 조건에 따라 활성화 시키는 역할을 합니다. 그때에 @Configuration 을 붙인 빈 설정을 읽어오는데, 그 때는 보통 @Import라는 애노테이이션과 @Conditional*의 조합으로 읽어들입니다.
결론적으로 말씀하신대로, 컴포넌트 스캔과 @EnableAutoConfiguration 둘 다 @Configuration 클래스를 읽어 빈으로 등록은 하지만 동작 방식이 좀 다릅니다.
좋은 질문 감사합니다.
자동설정 만들기 1부의 Holoman 관련 문의 드립니다.
0
84
1
라이브러리 개발 예제 강의를 찾습니다 !!!
0
225
2
강의 진행되로 똑같이 했는데 jquery가 실행되지 않았는데
0
310
1
HateOas 가 업데이트가 되어서, "Spring HATEOAS" 코드를 아래처럼 하셔야 될겁니다.
0
364
2
springSecurit jwt에 대해서 질문드립니다.
0
343
1
섹션2 자동설정 부분 질문있습니다.
0
249
1
mongo shell 명령어 대체 mongo -> mongosh
0
1012
1
데이터베이스 마이그레이션 강의에서 질문 있습니다
0
707
0
자동 설정 만들기 2부에서 질문 있습니다
0
413
1
의존성 관리 응용 부분에서 질문 있습니다
0
321
0
Intellij 에서 빈 주입할때 계속 빨간줄이 뜨는데 어떻게 고쳐야 할까요
0
1184
1
자동설정으로 다른 프로젝트 빈 사용(번외질문)
0
363
0
CREATE TABLE 예제 따라하다가 'expected "identifier"; SQL statement:' 오류나는 경우
2
2212
2
junit5 관련하여 질문드립니다.
0
307
2
맨 처음 프로젝트 생성 후 Run 시 에러
0
535
2
외부 설정과 관련된 질문입니다.
0
255
1
test와 runner account.setEmail에 동일한 값 입력
0
323
1
컨트롤러 view 호출
0
265
1
JVM 과 arguments 는 뭔가요???
0
1170
1
pom 테그 에러
0
355
1
안녕하십니까 기선님!!!!! webclient와 비동기관련 질문요청드립니다
0
1554
1
webEnvironment 내장 톰캣
0
228
1
application.yml 파일 분리
0
393
1
안녕하세요 기선님 서블릿 어플리케이션 구조에 대해 질문드립니다
0
281
1





