Bean的初始化回调方法和释放资源的回调方法

Posted 栗子~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bean的初始化回调方法和释放资源的回调方法相关的知识,希望对你有一定的参考价值。

文章目录

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


Bean的初始化回调方法和释放资源的回调方法

@Bean(initMethod = "init",destroyMethod = "destroy")
public RedissonClient redissonClient()
  ...

init: 初始化回调方法;
destroy:释放资源的回调方法;

示例:
vo:

public class TestVo 
    private String name;

    public String getName() 
        return name;
    

    public void setName(String name) 
        this.name = name;
    

    public void init()
        System.out.println("初始化回调方法调用");
    

    public void destroy()
        System.out.println("释放资源回调方法调用");
    

config:

@Configuration
public class TestConfig 

    @Bean(name = "bTestVo")
    public TestVo bTestVo()
        TestVo testVo = new TestVo();
        testVo.setName("yangzhenyu");
        return testVo;
    

    //Bean的初始化回调方法和释放资源的回调方法
    @Bean(name = "testVo",initMethod = "init",destroyMethod = "destroy")
    public TestVo testVo(@Qualifier("bTestVo") TestVo testVo)
        //获取TestVo方法的getName方法
        Method getName= ReflectionUtils.findMethod(TestVo.class, "getName");
        //指定对象中执行方法
        Object o = ReflectionUtils.invokeMethod(getName, testVo);
        String format = MessageFormat.format("0执行bean成功!!!", o);
        System.out.println(format);
        return testVo;
    


test:

public class Test5Test  
   @Test
   public void test()
       //启动容器
       AnnotationConfigApplicationContext configApplicationContext = new AnnotationConfigApplicationContext(TestConfig.class);
       //销毁容器
       configApplicationContext.close();
   

结果:

以上是关于Bean的初始化回调方法和释放资源的回调方法的主要内容,如果未能解决你的问题,请参考以下文章

Spring Bean生命周期回调方法

BeanPostProcessor说明及使用

Spring Bean生命周期回调

BeanFactory 初始化方法及其标准顺序

Spring中Bean初始化及销毁方法(InitializingBean接口DisposableBean接口@PostConstruct注解@PreDestroy注解以及init-method(代码片

Spring5AOP——BeanPostProcessor