2012-02-08 239 views
0

我在我的应用程序上下文中有20个bean,我想在所有bean加载后加载一个特定的bean。有没有办法呢?在最后加载Spring bean

+2

你的用例是什么?这是一个奇怪的要求,也许可以用更标准的方式解决。 – skaffman 2012-02-08 11:50:29

回答

1

您可以使用depends-on强制bean初始化顺序。

例如,如果bean1取决于bean2bean3,你可以把:

<bean id="bean1" class="YourBean" depends-on="bean2,bean3"> 

在Spring上下文。

0

正如@skaffman所说,这是一个非常奇怪的要求。根据您的需要有更好的解决方案:

  • 如果你只需要在Spring上下文被初始化启动过程中,不使用@PostConstruct注释的方法(或InitializingBean)。 ApplicationListener可能是你需要的。

  • 如果您担心,因为您需要在@PostConstruct注释的方法中注入一些bean,请不要打扰:Spring通常足够聪明,可以解决这种依赖关系。如果它不是你的情况,也许你有一个太复杂的bean设计。

  • 如果这还不够,您可以按照@soulcheck指示进行操作。 This answer可能可以帮助你获得更干净的配置文件。

如果这对你没有帮助,请给我们一些关于你想达到什么的更多信息。