새소식

300x250
2. 웹개발/스프링

[Spring] @PostConstruct , @PreDestroy

  • -
728x90

@postConstruct

- 객체의 초기화 부분
- 객체가 생성된 후 별도의 초기화 작업을 위해 실행하는 메소드를 선언한다.
- @PostConstruct 어노테이션을 설정해놓은 init 메소드는 WAS가 띄워질 때 실행된다.


 @PreDestroy

- 마지막 소멸 단계
- 스프링 컨테이너에서 객체(빈)를 제거하기 전에 해야할 작업이 있다면 메소드위에 사용하는 어노테이션.
- close() 하기 직전에 실행 -> ((AbstractApplicationContext) context).close()


 

< 예제 >
//초기화 메소드
@PostConstruct
public void init(){
    System.out.println("초기화 메소드!!");
}
//소멸 메소드
@PreDestroy
public void destroy(){

    System.out.println("종료 직전!!");       
}


(!) xml에서 어노테이션을 사용 안하고 bean에 지정 하는 방법
 -  init-method 와 destroy-method를 사용

// 초기화 메소드
public void init() {
System.out.println("초기화 메소드!!");
}
 
// 소멸 메소드
public void destroy() {
    System.out.println("종료 직전!!"); 
}

xml
<bean id="지정 아이디" class="패키지.클래스명" init-method="init" destroy-method="destroy"></bean>

java의 implements  InitializingBean, DisposableBean도 같은 기능을 한다.

300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.