IoC와 애플리케이션 컨텍스트

szlee·2023년 10월 23일
0

Spring

목록 보기
2/15

스프링의 핵심 담당 : 빈 팩토리, 애플리케이션 컨텍스트
(애플리케이션 컨텍스트는 빈 팩토리를 좀 더 확장.)



스프링 빈

  • 스프링이 제어권을 가지고 직접 만들고 관계를 부여하는 오브젝트
  • 스프링 컨테이너가 생성과 관계설정, 사용 등을 제어해주는 제어의 역전이 적용된 오브젝트



애플리케이션 컨텍스트 역할

  • 빈 생성, 관계 설정 등의 제어 작업 총괄
  • '어떤 클래스의 오브젝트를 생성하고 어디에서 사용하도록 연결해 줄 것인가'에 관한 정보를 직접 담고 있진 않고, 별도로 설정정보를 담고 있는 것을 가져와 활용한다.
    • 해당 설정 정보를 만드는 방법 : XML, 자바 코드 등



애플리케이션 컨텍스트를 부르는 다른 말들

= IoC 컨테이너 = 스프링 컨테이너 = 빈 팩토리
(애플리케이션 컨텍스트는 빈 팩토리를 상속함)



애플리케이션 컨텍스트 동작방식

  • @Configuration이 붙은 설정 파일을 읽어와 @Bean이 붙은 메서드의 이름을 가져와 빈 목록을 만든다.
  • 클라이언트가 getBean()으로 요청할 때 빈을 생성하는 메서드를 호출해서 오브젝트를 생성시킨 후 전달해준다.



스프링 IoC 용어 정리

  • 빈 : 스프링이 IoC 방식으로 관리하는 오브젝트. 스프링이 직접 그 생성과 제어를 담당하는 오브젝트. (스프링 애플리케이션에서 만들어지는 모든 오브젝트가 전부 빈은 아니다.)
  • 빈 팩토리 : 스프링 IoC를 담당하는 핵심 컨테이너. 빈 등록, 생성, 조회, 그 외에 부가적인 빈을 관리하는 기능 담당. 보통 빈 팩토리를 바로 사용하지 않고 이를 확장한 애플리케이션 컨텍스트를 이용한다.
  • 애플리케이션 컨텍스트 : 빈 팩토리를 확장한 IoC 컨테이너. 빈을 등록하고 관리. 여기에 더해 스프링이 제공하는 각종 부가 서비스를 추가로 제공한다.
  • 설정정보(configuration) : 애플리케이션 컨텍스트가 IoC를 적용하기 위해 사용하는 메타정보.







토비의 스프링

profile
🌱

0개의 댓글