Spring [핵심] 빈 생명주기 콜백

신재원·2023년 1월 12일
1

Spring 핵심

목록 보기
17/19

빈 생명주기 콜백

  • 객체의 초기화와 종료 작업이 필요하다.

  • 스프링 빈은 간단하게 라이프 사이클을 가진다

    • "객체 생성 -> 의존관계 주입"

      • 스프링 컨테이너 생성 - > 스프링 빈 생성 -> "의존관계 주입" -> 초기화 콜백 -> "사용" -> 소멸전 콜백 -> 스프링 종료
  • "초기화 콜백" : 빈이 생성되고, 빈의 의존 관계 주입이 완료된 후 호출

  • "소멸전 콜백" : 빈이 소멸되기 직전에 호출

  • 참고 : "객체의 생성과 초기화를 분리하자"

번외

ConfigurableApplicationContext ->(밑에(부모)) AnnotationConfigApplicationContext ->(밑에(부모)) ApplicationContext

@PostConstruct, @PreDestroy (이 방법을 사용하면됨)

  • 가장 권장하는 방법
  • 단점 : 외부 라이브러리에는 적용할수 없다.

인터페이스 InitializingBean, DisposableBean (잘사용 X)

  • implements InitializingBean = 초기화 시켜주는 인터페이스

  • DisposableBean = disconnet() 호출

  • 초기화, 소멸 인터페이스 단점

    • 이 인터페이스는 스프링 전용 인터페이스, 스프링 전용 인터페이스에 의존한다.

    • 초기화, 소멸 메서드의 이름을 변경할 수 없다.

    • 내가 코드를 고칠 수 없는 외부 라이브러리에 적용할 수 없다.

빈 등록 초기화, 소멸 메소드 ( 이 방법도 잘 사용 X)

  • @Bean 등록했던 스프링 빈에 (@Bean initmethod ="메소드명 ", destroyMethod = "메소드명 ")을 해준다.

  • 장점 : 코드가 아니라 설정정보를 사용 -> 코드를 고칠수 없는 외부 라이브러리에도 적용 가능하다

0개의 댓글