spring注解如何为bean指定InitMethod和DestroyMethod
目录
- spring注解为bean指定InitMethod和DestroyMethod
- 下面是具体代码
- 注意@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后面没有括号。
记住千万不要带括号。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。
【来源:http://www.1234xp.com/hwgf.html 转载请保留连接】