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

잘열심히님의 프로필 이미지
잘열심히

작성한 질문수

스프링 핵심 원리 - 기본편

질문이 있습니다.

해결된 질문

작성

·

214

0

1.ComponenetScan하는 부분에서 어차피 해당부분은 Bean관리를 직접해주지않는데

Configruation을 적어주는 이유가 뭔가요??

2.테스트코드에서 다른 Appconfig의 경우에는

멤버변수로 스프링 컨테이너를 설정했지만 컴포넌트 스캔을 사용하는경우에는 메소드 내부에서 스프링 컨테이너 객체를 설정했는데 이유를 알수있을까요?

public class ApplicationContextSameBeanFindTest {
        AnnotationConfigApplicationContext ac=new AnnotationConfigApplicationContext(SameBeanConfig.class);
public class AutoAppConfigTest {
    @Test
    @DisplayName("컴포넌트 스캔 테스트")
    void componentScan(){
        ApplicationContext ac=new AnnotationConfigApplicationContext(AutoAppConfig.class);
        MemberService memberService=ac.getBean(MemberService.class);
        Assertions.assertThat(memberService).isInstanceOf(MemberService.class);
    }

답변 2

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 잘열심히님

  1. @Configruation은 이 클래스가 스프링에서 설정 파일로 사용된다는 것을 개발자에게 인지시키기 위한 용도도 있습니다.

  2. 질문이 잘 이해가 되지 않습니다. 예제 코드와 함께 질문을 자세히 풀어서 다시 설명해주시겠어요?

감사합니다.

잘열심히님의 프로필 이미지
잘열심히
질문자

두번째 질문의경우 제가 오해한거 같습니다.

 

답변 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

ffbear님의 질문과 유사한 내용을 다루고 있는 질문과 답변이 있어 해당 내용을 공유드립니다.

해당 질문에서는 AutoAppConfig에 관한 질문을 하셨고, 강의 내용과 관련하여 ApplicationContextBasicFindTest 클래스에서 AppConfig 대신 AutoAppConfig를 사용했을 때 왜 에러가 나는지에 대한 내용이었습니다. 이 과정에서 @Component와 @ComponentScan을 활용하여 빈을 자동으로 등록하는 과정을 설명하는 부분이 있었습니다.

이와 유사한 질문에 대한 답변을 찾으시려면 아래 링크를 확인해 보시는 것을 추천드립니다.

또한, @Configuration을 사용하는 이유와 테스트 코드에서 스프링 컨테이너를 설정하는 방식의 차이에 대한 질문이 있으셨는데, 이에 대한 답변 또한 위 링크에서 찾으실 수 있을 것입니다.

도움이 되셨길 바라며, 추가적인 질문이 있으시면 해당 게시글에 댓글을 남겨주시면 강사님 혹은 다른 수강생들이 답변해 드릴 수 있습니다.

감사합니다.

잘열심히님의 프로필 이미지
잘열심히

작성한 질문수

질문하기