spring bean的init 方法和 destory方法的三種實現方式


1.通過@Bean(initMethod ="initPerson",destroyMethod ="destroyPerson" )
public class Person {


    public Person() {
        System.out.println("Person 初始化............");
    }

    public void initPerson(){
        System.out.println("Person ..... init");
    }
    public void destroyPerson(){
        System.out.println("Person ..... destroy");
    }
}

2.@PostConstruct 和 @PreDestroy
public class Pig {
    public Pig() {
        System.out.println("Pig 被創建了.....");
    }

    @PostConstruct
    public void initPig(){
        System.out.println("Pig ..... init");
    }

    @PreDestroy
    public void destroyPig(){
        System.out.println("Pig ..... destroy");
    }

}
3.實現InitializingBean和DisposableBean 接口
public class Cat implements InitializingBean,DisposableBean{
    public Cat() {
        System.out.println("Cat .... 被初始化了");
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("cat ...init");
    }

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

@Import({Cat.class,Pig.class})
public class Configue {
    @Bean(initMethod ="initPerson",destroyMethod ="destroyPerson" )
    public Person person(){
        return new Person();
    }
}

public class App 
{
    public static void main( String[] args )
    {
        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(Configue.class);
        applicationContext.close();


    }
}

 理解這三種方式,對於源碼學習有一定的幫助


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM