我是靠谱客的博主 如意火龙果,最近开发中收集的这篇文章主要介绍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的全部内容,希望文章能够帮你解决spring注解如何为bean指定InitMethod和DestroyMethod所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(113)

评论列表共有 0 条评论

立即
投稿
返回
顶部