DevBoi

[Spring] Bean과 Component의 차이 본문

Develop/[Spring]

[Spring] Bean과 Component의 차이

HiSmith 2022. 3. 27. 12:47
반응형

스프링은 개발의 제어권(객체의 생성,소멸 등 생명주기 관리)이 개발자가 아닌 IOC 컨테이너에게 있다.

따라서, 이런 컨테이너에 제어를 받기 위해서는 빈으로 등록을 해줘야 한다.

빈으로 등록하는 방법은 Bean과 Component가 있다.

 

Bean

메소드 레벨에서 선언, 반환되는 객체를 개발자가 수동으로 빈으로 등록하는 애노테이션이다.

또한 개발자가 컨트롤이 불가능한 외부 라이브러리들을 Bean으로 등록하고 싶은 경우에 사용한다.

예를 들어, Spring Securtiy 개발자에 의해 생성된 메소드를 빈으로 등록할때 사용한다.

 

Component

클래스 레벨에 선언함으로써 스프링이 런타임시에 컴포넌트 스캔을 하여 자동으로 빈을 찾고

등록하는 애노테이션이다.

개발자가 직접 컨트롤할수 있는 클래스에 사용한다.

즉, Configuration, Controller, Service, Repository등의 어노테이션들은 Component 어노테이션을 포함하고 있다.

 

 

반응형

'Develop > [Spring]' 카테고리의 다른 글

[Spring] WebServlet, controller  (0) 2022.03.27
[Spring] Servlet이란?  (0) 2022.03.27
[Spring] Aop란  (0) 2022.03.26
[Spring] DL? DI?  (0) 2022.03.25
[Spring] Spring Bean 등록 방법  (0) 2022.03.25