温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

spring注解怎么为bean指定InitMethod和DestroyMethod

发布时间:2021-11-19 09:05:07 来源:亿速云 阅读:383 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“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”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI