我正在使用 Spring 应用程序事件将信息发送到其他 bean。有一个 bean A,一旦 A 初始化,它就会发布一个事件。并且有一个 bean B 监听 A 发送的事件。
根据 A 在其他 Bean 中初始化的时间,B 初始化得很晚,并且错过了 A 发送的事件。
Spring 是如何避免此类问题的?除了改变bean初始化顺序还有其他方法吗?
最佳答案
一种可能的方法是使用
depends-on
属性。如果您使用的是属性,您可以定义依赖项
XML配置:
<bean id="A" depends-on="B"/>
基于注释:
@DependsOn("B")
public class A {}
这会强制 spring 在 A 之前初始化 B,这样它就不会错过 A 发布的事件。
关于java - 错过 Spring 的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40997130/