我有一个好奇的问题..是否有可能跟踪Spring容器创建和销毁的对象?我在想的不是记录,而是某种物体生命周期的视觉表现。
答案 0 :(得分:1)
绝对使用@PostConstruct和@PreDestroy。你如何进行实际跟踪是另一回事。也许是一个Tracker实例,它被注入到你想要跟踪的类中。在依赖注入之后和依赖对象被销毁之前调用的@PostConstruct和@PreDestroy方法中,您可以调用trackerInstance.trackCreation(this)和trackerInstance.trackDestroy(this)或类似方法。
如果使用跟踪器的aspectj和@Autowire依赖注入,您甚至可以跟踪非弹簧管理对象的生命周期,因为aspectj将通过调用new来连接您创建的对象。
答案 1 :(得分:0)
使用IoC events,您可以获得有关何时创建或销毁bean的信息。我不确定,是否有可能在全球范围内做到这一点,因为有更多的应用程序上下文可以使用。
答案 2 :(得分:0)
使用BeanPostProcessor,您可以捕获bean的初始化。有关详细信息,请参阅spring文档中的examples。