Spring

스프링 컨테이너와 스프링 빈

Bryan Lee 2022. 5. 14. 20:01

 

Q1. 스프링 빈이란 무엇인가?

- 스프링 컨테이너에 의해 관리되는 객체를 의미합니다. 

 

Q2. 스프링 컨테이너의 인터페이스는 무엇인가?

      스프링 컨테이너는 어떻게 선언하는가?

- 스프링 컨테이너의 인터페이스는 ApplicationContext 입니다.  

  스프링 컨테이너는 ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);

  와 같이 선언합니다. 

 

Q3. 최근에는 스프링 컨테이너를 XML과 애노테이션 기반의 자바 설정 클래스 중 어떤 것으로 만드는가?

- 애노테이션 기반의 자바 설정 클래스로 만듭니다. 

 

Q4. 스프링 컨테이너 안에는 어떤 것이 있는가?

      그리고 그것에는 무엇이 저장되는가?

- 스프링 빈 저장소가 있습니다. 그것에는 빈 이름과 빈 객체가 저장됩니다.  

 

Q5. 스프링 빈의 이름을 정할 때 주의해야 할 점은 무엇인가?

- 중복된 이름을 지정하지 않도록 주의해야 합니다.  

 

Q6. 스프링 컨테이너에서 스프링 빈이 생성된 다음에 어떤 일이 발생하는가?

- 스프링 빈 객체간의 의존 관계를 설정합니다.  

 

Q7. 스프링 빈들을 모두 가져오기 위해서는 어떤 메소드를 써야 하는가?

- getBean() 메소드를 써야 합니다. 

 

Q8. 빈에는 어떤 종류가 존재하고, 각각은 어떤 식으로 명명되는가?

 

 

Q9. 스프링 빈 조회 시 동일한 타입이 두 개 이상인 경우는 어떻게 하는가?

- 각각에 이름을 지정해줘야 합니다.  

 

Q10. 스프링 빈 조회 시, 부모 타입으로 조회하면, 어떤 일이 발생하는가?

- 해당 부모 타입의 자식 타입이 전부 조회됩니다. 

 

참고

- 김영한 스프링 핵심 원리-기본편

- Q1~Q10 5.14

- A1~A10 5.16