Bean
스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트입니다.
스프링 컨테이너가 관리하는 자바 객체를 뜻하고 하나 이상의 빈을 관리합니다.

스프링 컨테이너는 BeanFactory 와 ApplicationContext 두 종류의 인터페이스로 구성되어 있습니다.
BeanFactory는 스프링 컨테이너의 최상위 인터페이스입니다.
주로 빈을 등록, 생성, 조회 등의 빈을 관리하는 역할을하며, getBean()메서드를 통해 빈을 인스턴스화할 수 있습니다.
@Bean 어노테이션이 붙은 메서드의 이름을 스프링 빈의 이름으로 사용하여 빈을 등록합니다.
ApplicationContext 는 BeanFactory의 기능을 상속받아 제공합니다.
따라서, 빈을 관리하고 검색하는 기능을 BeanFactory가 제공하고 그 외의 부가 기능을 제공합니다.
스프링 컨테이너
스프링 컨테이너는 스프링 프레임워크의 핵심 컴포넌트입니다.
스프링 컨테이너는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공합니다.
죽, 스프링 컨테이너는 내부에 존재하는 빈의 생명주기를 관리(빈의 생성, 관리 제거 등)하며, 생성된 빈에게 추가적인 기능을 제공합니다.

스프링 컨테이너는 빈의 인스턴스화, 구성, 전체 생명 주기 및 제거까지 관리합니다.
- 컨테이너는 개발자가 정의한 빈을 객체로 만들어 관리하고 개발자가 필요로 할 때 제공합니다.
스프링 컨테이너를 통해 원하는 만큼 많은 객체를 가질 수 있습니다.
의존성 주입(DI)을 통해 애플리케이션의 컴포넌트를 관리할 수 있습니다.
스프링 컨테이너는 서로 다른 빈을 연경하여 애플리케이션 빈을 연결하는 역할을 합니다.
스프링 컨테이너 사용해야 하는 이유
객체를 생성하기 위해서는 new 생성자를 사용해야 합니다.
그로 인해 애플리케이션에서는 수 많은 객체가 존재하고 서로를 참조하게 됩니다.
객체 간의 참조가 많으면 의존성이 높아집니다.
이는 낮은 결합도와 높은 캡슐화를 지향하는 객체지향 프로그래밍의 핵심과는 먼 방식입니다.
따라서 객체 간의 의존성을 낮추어 결합도는 낮추고, 높은 캡슐화를 위해 스프링 컨테이너가 사용됩니다.
'BackEnd-Study > Spring boot' 카테고리의 다른 글
@RequestBody, @RequestPart, @RequestParam, @ModelAttribute (1) | 2024.10.23 |
---|---|
Oracle에서 시퀀스(Sequence) 사용하기 (0) | 2024.04.03 |
[springboot, mybatis] pagination (0) | 2024.04.03 |
댓글