1.自定义类实现BeanPostProcessor接口
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
public class InstantiationTracingBeanPostProcessor implements BeanPostProcessor {
// simply return the instantiated bean as-is
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean; // we could potentially return any object reference here...
}
//在创建bean后输出bean的信息
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println("Bean '" + beanName + "' created : " + bean.toString());
return bean;
}
}将类注册到spring的applicationContext.xml文件即可
<!-- 查看spring启动注册的bean -->
<bean class="stt.core.utils.spring.InstantiationTracingBeanPostProcessor" />项目启动,即可打印。
默认情况下,这些beans是单例的,在spring启动时被装配,当然有可以修改默认。
本文介绍如何通过自定义类实现Spring框架的BeanPostProcessor接口来跟踪Bean实例化过程。通过覆盖postProcessBeforeInitialization和postProcessAfterInitialization方法,可以在Bean初始化前后进行自定义操作。将此类注册到Spring上下文后,可在项目启动时打印出所有Bean的信息。
5309

被折叠的 条评论
为什么被折叠?



