spring容器加载完成执行某个方法

Posted mitsuhide1992

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring容器加载完成执行某个方法相关的知识,希望对你有一定的参考价值。

今天遇到一个问题,需要在项目中加入一个定时器,需要在项目启动后就执行,所以就在网上找spring容器初始化之后就执行的方法有什么:

查了很多资料,总共找到了两个符合条件的方法,都是用了一下之后,结合网上的信息说说我个人的理解:

1.写一个类,实现BeanPostProcessor,这个接口有两个方法:

(1)postProcessBeforeInitialization方法,在spring中定义的bean初始化前调用这个方法;

(2)postProcessAfterInitialization方法,在spring中定义的bean初始化后调用这个方法;

首先,开始我试过这个方法,才发现,这个接口是在spring容器启动时,每初始化一个bean,便会调用一次,也就是说,你初始化多少个bean,变回调用多少次,当然也就不符合我之前的需求;

2.之后,我找到了另外一个方法,写一个类,实现InitializingBean接口:

(1)实现这个接口,只要实现afterPropertiesSet()这个方法,将你要预处理的代码写在里面,spring容器启动后,就会执行这个里面的方法。

很明显,最后一个符合我的需求,我将计时器代码写在实现InitializingBean接口的类中afterPropertiesSet()方法里面。

以上是关于spring容器加载完成执行某个方法的主要内容,如果未能解决你的问题,请参考以下文章

当spring 容器初始化完成后执行某个方法

当spring 容器初始化完成后执行某个方法

springboot框架在容器加载完成之后执行某个方法

spring启动容器加载成功后执行调用方法

Spring实战Spring容器初始化完成后执行初始化数据方法

Spring实战Spring容器初始化完成后执行初始化数据方法