본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Spring framework

스프링 객체 초기화, 스프링 객체 늦은 초기화 (Spring bean init, Spring bean lazy init)

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2019. 7. 26.

 

 

빈 객체를 초기화 하는 방법

 

1. 에노테이션을 활용한 방법

import javax.annotation.PreDestroy;
import javax.annotation.PostConstruct;

@Controller
class TestController {

   //기타 내용들..

   @PreDestroy
   public void destroy() throws Exception {
      System.out.println("destroy!!");
   }

   @PostConstruct
   public void init() throws Exception {
      System.out.println("init!!");
   }
}

 

2. 인터페이스를 상속받는 방법

import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;

@Controller
class TestController implements InitializingBean, DisposableBean {

   //기타 내용들..

   @Override  //DisposableBean에서 제공하는 빈 객체 소멸시 동작하는 메소드
   public void destroy() throws Exception {
      System.out.println("destroy!!");
   }

   @Override  //InitializingBean에서 제공하는 빈 객체가 생성된 이후 동작하는 메소드
   public void afterPropertiesSet() throws Exception {
      System.out.println("init!!");
   }
}

 

3. 설정(xml에 선언한)파일에 의한 방법

<bean id="somecomponent" class="SomeComponent" init-method="init" destroy-method="destroy"></bean>
import org.springframework.context.annotation.Bean;

@Component
class SomeComponent{
   @Bean(initMethod = "init")
   public void init(){
      System.out.println("init!!");
   }

   @Bean(destroyMethod = "destroy")
   public void destroy(){
      System.out.println("destroy!!");
   }
}
반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글