2

我正在尝试在我的一个控制器的 PostConstruct 中执行代码。但是这个动作是这样的,它也会导致来自同一模块的另一个控制器被其他一些外部模块触发。我观察到当我们在 postConstruct 中的代码被执行时,其他控制器还没有准备好。

我还尝试在 ContextRefreshed 和 ContextStarted 事件上使用 ApplicationContext 侦听器,但是如果某些外部模块尝试联系它们,那么此时所有控制器似乎还没有准备好。

我错过了什么?当所有控制器都准备好当前模块时,是否有任何钩子可用于触发方法执行?

4

1 回答 1

3

除非您使用 LAZY 初始化(默认情况下未启用),否则上下文刷新事件应该有效。

一定要监听正确的上下文事件。有两个(或更多)刷新事件 - 一个用于根上下文,一个用于每个 servlet 上下文。

于 2013-07-15T14:30:05.430 回答