在其中一個要求中,我們必須通過Web應用程序提供某些屬性,以便我們可以在下拉列表中顯示它們,因此我們只有少數選項 我們正計劃創建一個實用程序類,其中包含一些靜態字段,這些字段將在應用程序啓動時或在該列表的第一個請求到達時分配值。 理念是讀取屬性文件並創建一個List<String>
並將其分配到靜態字段,以便當過有人需要訪問這一切,他/她需要以下調用初始化靜態字段可在整個應用程序中使用
GeneralUtil.getList()
由於我們在工作Web的應用程序一個選擇是創建一個聽者像
public final class MyListener
implements ServletContextListener {
}
,比讀了contextInitialized
方法的屬性文件和讀取值分配給靜態字段,以便他們將在啓動後可用。
另一種選擇是 創建內部GeneralUtil
類的靜態塊,並把文件讀邏輯靜態塊內,這樣一旦被cotainer加載的類的靜態字段將被初始化,我們不需要加載它的後續請求。
我的問題是哪些應該是首選方法,以及是否有其他最佳方法來實現此目的。我想避免將列表放置在ApplicationContext
或任何此類方法中。
爲什麼你不想把它放在'ApplicationContext'? –
@JigarJoshiThis讓我更少地依賴於上下文,以及如何上下文工作。讓我的應用程序少麻煩的移動,如果我因爲某種原因 –