Replies: 1 comment
|
최고최공 ~~ |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
8_빈 생명주기 콜백
빈 생명주기 콜백 시작
스프링에서의 객체의 초기화와 종료 작업
외부 네트워크에 미리 연결하는 객체를 하나 생성한다고 가정
NetworkClient는 애플리케이션 시작 지점에connect()를 호출해서 연결을 맺어두어야 하고, 애플리케이션이 종료되면disconnect()를 호출해서 연결을 끊어야 함NetworkClientBeanLifeCycleTestsetUrl()이 호출되어야 url이 존재하게 됨스프링 빈의 라이프사이클
객체 생성 -> 의존관계 주입
스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주립 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료
참고
스프링의 빈 생명주시 콜백
스프링은 크게 3가지 방법으로 빈 생명주기 콜백을 지원함
@PostConstruct,@PreDestroy애노테이션 지원인터페이스 InitializingBean, DisposableBean
afterPropertiesSet()메서드로 초기화를 지원함destroy()메서드로 소멸을 지원함초기화, 소멸 인터페이스 단점
빈 등록 초기화, 소멸 메서드
@Bean(initMethod = "init", destroyMethod = "close")처럼 초기화, 소멸 메서드를 지정할 수 있음설정 정보 사용 특징
종료 메서드 추론
@Bean의destroyMethod속성에는 특별한 기능 존재close,shutdown이라는 이름의 종료 메서드를 사용@Bean의destroyMethod는 기본 값이(inferred)(추론)으로 등록되어 있음close,shutdown라는 이름의 메서드를 자동으로 호출해줌. 이름 그대로 종료 메서드를 추론해서 호출해줌destroyMethod = ""처럼 빈 공백을 지정하면 됨애노테이션 @PostConstruct, @PreDestroy
@PostConstruct,@PreDestroy이 두 애노테이션을 사용하면 가장 편리하게 초기화와 종료를 실행할 수 있음@PostConstruct,@PreDestroy애노테이션의 특징정리
@PostConstruct,@PreDestroy애노테이션을 사용하자.@Bean의initMethod,destroyMethod를 사용하자All reactions