第一种使用注解
@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销毁-------");
}
}