본문 바로가기

Spring

[Spring] Bean

Bean

Spring 에서는 Spring Container에 객체들을 저장하여 객체끼리의 의존성을 주입해주는 역할을 합니다. 이때 Spring Container에 등록되는 객체들을 Bean이라고 합니다.

 

  • 특징
    • @Configuration이 선언된 클래스의 메소드에서 사용가능합니다.
    • 메소드의 반환객체가 스프링 Bean 객체임을 선언하는 작업입니다.
    • Bean의 이름은 기본적으로 메소드 이름이고, 원한다면 바꿀 수 있습니다.

Bean을 등록하는 방법

@Component

Spring Boot에서는 클래스 선언부 위에 @Component를 선언하면 Bean으로 등록해줍니다.

자주 사용하는 @Controller, @Service, @Repository는 모두 @Component를 포함하고 있습니다.

 

직접 등록

Bean을 등록하기위한 클래스를 만들고 해당클래스에 @Configuration을 선언한 뒤

원하는 타입을 리턴하는 메소드를 생성 후 @Bean 을 선언해주면 됩니다.

Bean 생명주기

스프링 IOC 컨테이너가 위에서 설명드린 객체끼리의 의존성을 주입해주는 역할을 하는 컨테이너입니다.

 

  1. 스프링 IOC 컨테이너 생성 
  2. 스프링 빈 생성
  3. 의존관계 주입
  4. 초기화 콜백 메소드 호출
  5. 사용
  6. 소멸 전 콜백 메소드 호출
  7. 스프링 종료

스프링은 의존관계 주입이 완료되면 콜백 메소드를 통해 스프링 Bean의 초기화 시점과 소멸 시점을 알려줍니다.

 

 


● 참고자료 : https://dev-coco.tistory.com/170#head1

 

'Spring' 카테고리의 다른 글

[Spring] application-{환경}.yml 과 @Value  (0) 2023.04.17
[Spring] 단위 테스트  (0) 2023.03.24
[Spring] Spring MVC  (0) 2023.02.16
[Spring] @Transactional  (0) 2023.02.16
[Spring] Redis  (0) 2023.02.11