본문으로 바로가기

[Spring] @PostConstruct , @PreDestroy

category 3. 웹개발/3_1_2 스프링 2017. 6. 5. 14:13
반응형

@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도 같은 기능을 한다.

반응형

댓글을 달아 주세요

  1. 나나짱 2020.09.14 12:47

    오타났어요 preDestroy

  2. Favicon of https://javacatcher.tistory.com BlogIcon 현꿍 2020.09.15 16:28 신고

    메소드 부분도 destory라고 적혀있어요
    항상 잘보고있어요