bean初始化和结束就调用三种方法

第一种使用注解

@PostConstruct
@PreDestroy
package com.seven;

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


@Componment
public class FirstInitDestory {

    @PostConstruct
    public void initial(){
        System.out.println("--------intial1-------");
    }

    @PreDestroy
    public void destory(){
        System.out.println("----------destory1-----------");
    }
}

第二种在配置bean时设置初始化和销毁方法

package com.seven;

public class Second {
    public void init(){
        System.out.println("--------bean初始化2-------");
    }

    public void destory(){
        System.out.println("--------bean销毁2-------");
    }
}

在配置类Mycofig.class中设置

@Bean(initMethod = "init",destroyMethod = "destory")
    public Second createSecondBean(){
        return new Second();
    }
    @Bean
    public ThirdInitDestory createThird(){
        return new ThirdInitDestory();
    }

第三种实现接口

InitializingBean, DisposableBean 
package com.seven;

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

public class Cat implements InitializingBean, DisposableBean {

    public void afterPropertiesSet() throws Exception {
        System.out.println("--------bean初始化-------");
    }

    @Override
    public void destroy() throws Exception {
        System.out.println("--------bean销毁-------");
    }
}

 

你可能感兴趣的:(java)