스프링 빈(Bean) 이란?
"스프링 컨테이너가 생성해준 자바 객체"
스프링 빈은 쉽게 말해 스프링 컨테이너가 생성해준 자바 객체를 의마한다. 흔히 스프링부트에서는 @Component, @Controller, @Service 등의 어노테이션을 통해 특정 객체를 빈으로 등록해 사용한다.
이는 내부적으로, @Component 라는 어노테이션이 붙은 클래스들에 대해 (@Controller 와 @Service 도 실제로는 @Component 어노테이션을 가진다) 스프링 컨테이너가 이들을 빈으로 등록해주는 것이다.
스프링 컨테이너란?
컨테이너는 객체의 생성 및 관리를 담당하며 이외의 여러 다양한 기능을 제공한다. 스프링 또한 객체를 생성하고 객체간 의존관계를 관리하므로 컨테이너라고 말할 수 있으며, 이를 스프링 컨테이너라고 부른다.
스프링에서는 크게 BeanFactory 라는 bean 객체를 관리하는 컨테이너와, 이를 상속한 ApplicationContext 라는 컨테이너를 제공한다. ApplicationContext 는 bean 객체를 관리하는 기능 이외에도 다양한 기능을 지원한다. 따라서 대부분의 스프링 프로젝트는 이 유형의 컨테이너를 이용한다.
스프링에서 객체를 bean으로 등록, 사용하는 과정은 아래와 같다.
1) 스프링 컨테이너가 구동되면,
2) 컨테이너는 스프링 설정 파일을 확인, <bean> 이라는 엘리먼트들에 대해 객체를 생성한다.
3) 유저 클래스에서 해당 객체를 사용할 때에는 getBean() 메소드를 호출한다.
4) 컨테이너는 bean으로 등록한 객체를 반환한다.
스프링부트 - 스프링 빈(Bean) 에 대한 이해
"스프링 컨테이너가 생성해준 자바 객체 "스프링 빈은 쉽게 말해 스프링 컨테이너가 생성해준 자바 객체를 의미한다.우리가 흔히 스프링 부트에서는 @Component , @Controller , @Service 등의 어노테이션
velog.io
'program > Java, Spring' 카테고리의 다른 글
@ModelAttribute, @RequestParam, @RequestBody 이란? (0) | 2022.04.07 |
---|---|
@RequiredArgsConstructor과 @Autowired 의 차이점 / 의존성과 의존성 주입이란 / @Component (0) | 2022.04.05 |
this와 this() 의 차이 (0) | 2022.04.05 |
Java 생성자란? (0) | 2022.04.05 |
Method란? Main Method란? (0) | 2022.04.04 |