작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
223
0
이번 강의에서 memberService에 필드 값
memberRepository를 생성자 주입 해주셨는데,
이때, 클래스에 component 스캔 안달아도 되나요..?
의존성 주입할 때, 빈으로 등록하는 과정이 필수인줄
알았는데, 이번편을 보니 그게 아닌가 싶기도 하네요..
답변 1
0
안녕하세요. 유진이님, 공식 서포터즈 OMG입니다.
해당 강의의 프로젝트에는 @SpringBootApplication에 선언되어 있는 @Component스캔을 이용합니다.
(스프링부트 프로젝트 기본 생성)
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
관련하여 @ComponentScan, @Component, @Bean, 수동,자동 빈등록에 대해 학습 하시길 권장드립니다.
감사합니다.
다시 글 남겨주셔서 이해했습니다.
해당 강의에서는 MemberService, MemberRepository 스프링이 관리하는 빈이 아닙니다.
순수 자바 클래스입니다.
연관 강의의 다음 강좌 ~5분까지 보시면 순수 자바 클래스임을 설명해주십니다.
추가적으로 모양의 인텔리제이 유료버전에서 지원하는 콩 모양 표시를 통해서도 스프링 컨테이너가 관리하는 빈인지 아닌지 알 수 있습니다.
또한 MemberService 테스트 실행 할 때 스프링 컨테이너가 실행되지 않고 테스트가 실행된 것을 강의에서도 볼 수 있고, 테스트 클래스 위에 @SpringBootTest 어노테이션이 붙어있지 않는 걸로도 순수 자바 테스트임을 알 수 있습니다.
스프링 부트 프로젝트 컴포넌트 스캔과 memberSevice에 memberRepository를 생성자 주입
해주는 것과 무슨 관계가 있죠..? 제 질문내용은 memberService와 memberRepository에
@Service, @Repository 등의 component scan이 없는데 autowired가 어떻게 동작하는지
여부에 대한 내용이였습니다.