프로그래밍 공부/Spring

스프링 스터디 기본편 -6

스프링 핵심 원리 이해6 - 의존관계 주입

빈 생명주기 콜백

스프링 빈의 이벤트 라이프사이클
스프링 컨테이너 생성 → 스프링 빈 생성 의존관계 주입 초기화 콜백 사용 소멸전 콜백 스프링 종료

* 초기화 콜백 : 빈이 생성되고, 의존관계 주입 완료후 호출

Q. 왜 객체의 생성과 초기화가 분리되나요?

A. 생성자는 객체를 생성하는 책임 / 초기화는 값들을 활용해서 외부 커넥션 등을 연결하는 책임
두가지를 명확히 나눠서 진행하는 것이 유지보수의 관점에서 좋습니다. (간단하다면 한번에 해도 OK)

 

스프링의 빈 생명주기 지원 방식

인터페이스 InitializingBean, DisposableBean

implements를 통해서 넣는 것. 다만, 이 인터페이스는 스프링 초창기에 나온 방식이라 최근엔 자주 사용하지 않는 것이 일반적이다.

 

설정 정보에 초기화 메서드, 종료 메서드 지정

설정정보에 @Bean(initMethod = "init", destroyMethod = "close")처럼 제공

메서드 이름을 자유롭게 줄 수 있으며, 외부 라이브러리에도 초기화 & 종료 메시지를 줄 수 있다.

추가로, 종료 메서드를 추론할 수 있는 기능도 제공한다.

 

@PostConstruct, @PreDestory 애노테이션

최신 스프링에서 권장. 애노테이션 하나만 붙이면 돼서 매우 편리!

유일한 단점은 스프링이 아닌 외부에선 못한다는것. 그땐 @Bean에 넣어주자.

 

'프로그래밍 공부 > Spring' 카테고리의 다른 글

[Spring] JsssionID란?  (0) 2022.02.16
스프링 스터디 기본편 -7  (0) 2021.05.02
스프링 스터디 기본편 -5  (0) 2021.04.25
스프링 스터디 기본편 - 4  (0) 2021.04.25
스프링 스터디 기본편 -4  (0) 2021.04.22