2012-02-08 234 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可能可以幫助你獲得更乾淨的配置文件。

如果這對你沒有幫助,請給我們一些關於你想達到什麼的更多信息。