728x90
public class NetworkClient implements InitializingBean, DisposableBean {
private String url;
public NetworkClient(){
System.out.println("생성자 호출, url = " + url);
//connect();
//call("초기화 연결 메시지");
}
public void setUrl(String url) {
this.url = url;
}
//서비스 시작시 호출
public void connect(){
System.out.println("connect: " + url);
}
public void call(String message){
System.out.println("call: " + url + " message " + message);
}
//서비스 종료시 호출
public void disconnect(){
System.out.println("close " + url);
}
@Override
public void afterPropertiesSet() throws Exception {
//생성 시점에 호출
System.out.println("NetworkClient.afterPropertiesSet");
connect();
call("초기화 연결 메시지");
}
@Override
public void destroy() throws Exception {
//종료 시점에 호출
disconnect();
}
}

출력 - 스프링 초창기에 나와 현재는 잘 사용하지 않는 방식이다
- InitializingBean 은 afterPropertiesSet() 메서드로 초기화를 지원한다.
- DisposableBean 은 destroy() 메서드로 소멸을 지원한다
- 초기화, 소멸 인터페이스 단점
- 이 인터페이스는 스프링 전용 인터페이스다. 해당 코드가 스프링 전용 인터페이스에 의존한다.
- 초기화, 소멸 메서드의 이름을 변경할 수 없다.
- 내가 코드를 고칠 수 없는 외부 라이브러리에 적용할 수 없다.
728x90
'스프링 핵심 원리(기본편)' 카테고리의 다른 글
| Ch08. 빈 생명주기 콜백 시작 - 애노테이션 @PostConstruct, @PreDestroy (0) | 2022.02.22 |
|---|---|
| Ch08. 빈 생명주기 콜백 시작 - 빈 등록 초기화, 소멸 메서드 (0) | 2022.02.22 |
| Ch08. 빈 생명주기 콜백 시작 - 빈 생명주기 콜백 시작 (0) | 2022.02.22 |
| Ch07. 의존관계 자동 주입 - 자동, 수동의 올바른 실무 운영 기준 (0) | 2022.02.21 |
| Ch07. 의존관계 자동 주입 - 조회한 빈이 모두 필요할 때(List, Map) (0) | 2022.02.21 |