개발 일지/Spring

[Spring] 스프링 컨테이너

미숫가루설탕많이 2023. 2. 6. 14:35

 스프링 컨테이너는 스프링 프레임워크의 핵심 컴포넌트로, 스프링에서 자바 객체들을 관리하는 공간을 말한다.

 

 개발자를 대신하여 내부에 존재하는 애플리케이션 빈(Bean)의 생명주기를 관리하며, 빈은 스프링에서 자바 객체를 의미한다. 즉, 컨테이너는 개발자가 정의한 빈을 객체로 만들어 관리하고 개발자가 필요로 할 때 제공한다.

 

 스프링 컨테이너를 통해 원하는 만큼 많은 객체를 가질 수 있으며, 의존성 주입을 통해 애플리케이션의 컴포넌트를 관리한다. 이러한 특성으로 인해 다음의 효과를 얻을 수 있다.

  • 모듈 간에 의존 및 결합으로 인해 발생하는 문제로부터 자유로울 수 있다.
  • 메서드가 언제, 어디서 호출되어야 하는지, 메서드를 호출하기 위해 필요한 매개 변수를 준비해서 전달하지 않는다.

 

 컨테이너는 크게 BeanFactory와 ApplicationContext로 나눌 수 있다. ApplicationContext 컨테이너가 BeanFactory의 기능을 포괄하면서 추가적인 기능을 제공하기 때문에 후자를 많이 사용한다. 부가 기능으로는 MessageSource, EnvironmentCapable, ApplicationEventPublisher, ResourceLoader 등이 있다.

 

 ApplicationContext는 인터페이스로 구현되어 있다. (다형성 적용)

'개발 일지 > Spring' 카테고리의 다른 글

[Spring] Component Scan  (0) 2023.02.07
[Spring] 빈  (0) 2023.02.06
[Spring] Spring Boot  (0) 2023.02.03
[Spring] PSA  (0) 2023.02.02
[Spring] AOP  (0) 2023.02.02