이 방법을 쓰면 된다!
public class NetworkClient {
private String url;
public NetworkClient() {
System.out.println("생성자 호출, url = " + url);
}
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);
}
@PostConstruct
public void init() {
System.out.println("NetworkClient.init");
connect();
call("초기화 연결 메세지");
}
@PreDestroy
public void close() {
System.out.println("NetworkClient.close");
disconnect();
}
}
@PostConstruct
, @PreDestroy
이 두 어노테이션을 사용하면 가장 편리하게 초기화와 종료를 실행할 수 있다.
javax.annotation.PostConstruct
이다. 스프링에 종속적인 기술이 아니라 JSR-250이라는 자바 표준이다.@PostConstruct
, @PreDestroy
를 사용하자.@Bean
의 initMethod
, destroyMethod
를 사용하자.