• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

ApplicationContext의 자동 주입 관련 질문

22.06.01 20:27 작성 조회수 222

1

안녕하세요. 강의 관련해 질문 몇 가지 드리겠습니다.

 

1. 강의 초반에 단순한 방법으로 ApplicationContext를 주입 받아 getBean()으로 PrototypeBean을 조회하는데, 이 때 주입되는 ApplicationContext는 Test Code에서 new 해서 만든 객체와 같은 객체인건가요??

 

2. 그럼 이 코드를 테스트가 아닌 앱 코드에서 사용한다고 했을 때는 스프링이 자동 주입된 빈을 관리하는 ApplicationContext를 생성하여 들고 있다가 주입해주게 된다고 생각하면 될까요?

 

3. 2번이 맞다고 한다면, 스프링 코드 내에서 자동 주입 + ApplicationContext를 통한 수동 등록을 같이 사용하게 되면 ApplicationContext가 여러 객체 존재할 수도 있는 것인가요?

 

4. 강의 내용 중 '스프링 애플리케이션 컨텍스트' 라는 표현이 나오는데 이게 스프링 컨테이너와 같은 의미일까요?

 

5. 마지막으로 직접 new를 통해 구현체를 할당하는 것과 DL을 하는 것의 차이점이 무엇인지 궁금합니다. 빈을 '찾는다'는 행위의 유무가 차이점일까요..?

 

감사합니다.

답변 1

답변을 작성해보세요.

1

David님의 프로필

David

2022.06.05

안녕하세요. 현상혁님, 공식 서포터즈 David입니다.

1. 강의 초반에 단순한 방법으로 ApplicationContext를 주입 받아 getBean()으로 PrototypeBean을 조회하는데, 이 때 주입되는 ApplicationContext는 Test Code에서 new 해서 만든 객체와 같은 객체인건가요??

 => 네, 맞습니다.

 

2. 그럼 이 코드를 테스트가 아닌 앱 코드에서 사용한다고 했을 때는 스프링이 자동 주입된 빈을 관리하는 ApplicationContext를 생성하여 들고 있다가 주입해주게 된다고 생각하면 될까요?

=> 네, 맞습니다.

 

3. 2번이 맞다고 한다면, 스프링 코드 내에서 자동 주입 + ApplicationContext를 통한 수동 등록을 같이 사용하게 되면 ApplicationContext가 여러 객체 존재할 수도 있는 것인가요?

 => 네, 여러 개가 존재할 수 있습니다.

 

4. 강의 내용 중 '스프링 애플리케이션 컨텍스트' 라는 표현이 나오는데 이게 스프링 컨테이너와 같은 의미일까요?

=> 네, 맞습니다.

 

 

5. 마지막으로 직접 new를 통해 구현체를 할당하는 것과 DL을 하는 것의 차이점이 무엇인지 궁금합니다. 빈을 '찾는다'는 행위의 유무가 차이점일까요..?

=> 네, 맞습니다. DL의 경우 의존관계를 찾는 것에 집중하고 있다고 생각하시면 됩니다.

 

감사합니다.