注解-生命周期01-指定初始化/销毁方法

一、@Bean指定初始化和销毁方法

public class Car {
    public Car() {
        System.out.println("Car Constructor...");
    }
    public void init(){
        System.out.println("Car...init...");
    }
    public void destory(){
        System.out.println("Car...destroy...");
    }
}
Car
@ComponentScan("spring.com.life")
@Configuration
public class MainConfigOfLifeCycle {
    @Bean(initMethod = "init",destroyMethod = "destory")
    public Car car(){
        return new Car();
   }
}

二、实现InitializingBean、DisposableBean接口

@Component
public class Cat implements InitializingBean, DisposableBean {
    public Cat() {
        System.out.println("Cat Constructor...");
    }

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

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

三、@PostConstruct、@PreDestroy

  @PostConstruct: 在bean创建完成并且属性赋值完成,来执行初始化方法。

  @PreDestroy:在容器销毁bean之前通知我们进行清理工作。

@Component
public class Dog {
    public Dog() {
        System.out.println("Dog Constructor...");
    }
    @PostConstruct
    public void init(){
        System.out.println("Dog...PostConstruct...");
    }
    @PreDestroy
    public void destory(){
        System.out.println("Dog...PreDestroy...");
    }
}

 

posted @ 2020-06-10 15:20  Qmillet  阅读(195)  评论(0编辑  收藏  举报