记录Spring Bean实例化 [英] Log spring Bean instantiation

查看:65
本文介绍了记录Spring Bean实例化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们如何在Spring中记录每个bean实例?

How can we log each bean instantiation in Spring?

  • 我希望每次初始化bean时都记录一条消息.
  • 我有N个bean,我不想为每个bean的init方法添加任何记录器.
  • 我认为这是一个跨领域的问题,但不确定如何实现.

有办法吗?

推荐答案

您可以使用 BeanPostProcessor

@Component
public class LogBeanPostProcessor implements BeanPostProcessor {

    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName)
        throws BeansException {
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName)
        throws BeansException {
        LOGGER.log(String.format("Bean instantiated with name %s and class %s", beanName, bean.getClass().getSimpleName()));
        return bean;
    }
}

这篇关于记录Spring Bean实例化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆