这篇文章主要为大家展示了“spring注解怎么为bean指定InitMethod和DestroyMethod”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“spring注解怎么为bean指定InitMethod和DestroyMethod”这篇文章吧。
spring注解为bean指定InitMethod和DestroyMethod
/**
* 指定组建的init方法和destroy的几种方法
* 1:在配置类中 @Bean(initMethod = "init",destroyMethod = "destory")注解指定
* 2:实现InitializingBean接口重写其afterPropertiesSet方法,实现DisposableBean接口重写destroy方法
* 3:利用java的JSR250规范中的@PostConstruct标注在init方法上,@PreDestroy标注在destroy注解上
*/
需要注意的是:
单实例bean:容器启动时创建对象
多实例bean:每次获取时创建对象
初始化:
销毁:
单实例:容器关闭时调用
多实例:容器不会销毁,只能手动调用销毁方法
下面是具体代码
Car.java
public class Car {
public Car() {
System.out.println("Car's Constructor..");
}
public void init(){
System.out.println("Car's Init...");
}
public void destory(){
System.out.println("Car's Destroy...");
}
}
配置类
@Bean(initMethod = "init",destroyMethod = "destory")
public Car car(){
return new Car();
}
注意@Bean中的initMethod和destroyMethod
@Configuration
public class AppConfig {
@Bean(initMethod = "init")
public Foo foo() {
return new Foo();
}
@Bean(destroyMethod = "cleanup")
public Bar bar() {
return new Bar();
}
}
上述代码中initMethod和destroyMethod后面没有括号。
记住千万不要带括号。
以上是“spring注解怎么为bean指定InitMethod和DestroyMethod”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!