Spring - Java를 이용한 init-method, destroy-method
2020. 8. 19. 22:17ㆍJava/Spring
반응형
Java 파일을 이용하여 빈을 설정 할 때 xml에서 쓰던 것과 마찬가지로 init-method, destroy-method를 설정 가능하다.
다음과 같은 TestBean1 클래스가 있다.
public class TestBean1 {
public TestBean1() {
System.out.println("TestBean1");
}
public void init() {
System.out.println("init");
}
public void destroy() {
System.out.println("destroy");
}
}
기존의 xml에서 init,destroy를 설정하기 위해서는 아래와 같이 작성했다.
<bean id="t1" class="cookingcoding.beans.TestBean1" lazy-init="true" init-method="init" destroy-method="destroy"/>
해당 빈 객체가 생성되면서 init 메소드가 호출되고, 해당 빈 객체가 사라질 때 destroy 메소드가 호출된다.
Java 파일에서 해당 기능을 설정하기 위해서는 아래와 같이 적어준다.
@Configuration
public class beanconfig {
@Bean(initMethod = "init",destroyMethod = "destroy")
public TestBean1 java1() {
TestBean1 t1 = new TestBean1();
return t1;
}
}
@Bean의 ()내부에 선언함으로 같은 기능이 적용 가능하다.
public class MainClass {
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("cookingcoding/config/beans.xml");
TestBean1 t1 = ctx.getBean("t1",TestBean1.class);
ctx.close();
AnnotationConfigApplicationContext ctx2 = new AnnotationConfigApplicationContext(beanconfig.class);
TestBean1 t2 = ctx2.getBean("java1",TestBean1.class);
ctx2.close();
}
}
반응형
'Java > Spring' 카테고리의 다른 글
Spring - Annotation을 통한 Bean 설정 (0) | 2020.08.24 |
---|---|
Spring - Java를 이용한 주입(생성자,getter,autowire) (0) | 2020.08.20 |
Spring - Java를 이용한 Bean 등록(어노테이션) (0) | 2020.08.18 |
Spring - 빈 객체 값 주입(자동주입) (0) | 2020.08.17 |
Spring - 빈 객체 값 주입(컬렉션) (0) | 2020.08.17 |