2016-10-19 51 views
0

我有一個控制檯application.i想從數據庫讀取一些配置設置。這些設置應該存儲在全局變量或會話變量中,所以 我可以通過應用程序使用變量, 我該如何實現它?有什麼方法?我需要使用哪些渠道?以及應如何存儲有效載荷?如何聲明和使用全局變量?

+0

請提供更多信息,例如您正在使用哪個數據庫。 – abhirathore2006

+0

我可以使用任何數據庫,我的數據庫部分運作良好沒有問題。只關心我如何在全局變量中保留行,就像我們在Web應用程序中有會話一樣。 –

+0

在應用程序啓動時,您可以加載數據(某些錶行)並將它們存儲在靜態變量中,這將在整個應用程序生命週期中可用 – abhirathore2006

回答

0

這並不完全清楚您的意思,但您可以聲明一個地圖對象爲@Bean(或<bean/>)並在初始化期間加載它。

然後,您可以通過@Autowired或通過SpEL在集成組件中的表達式中直接在組件中直接引用它:@mapBean['foo']

+0

謝謝羅素,我怎麼能確定地圖將填充初始化階段?因爲地圖應該在任何對象之前填充? –

+0

你可以使用[BeanPostProcessor](http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/htmlsingle/#beans-factory-extension-bpp)確保它是'Ordered' ,因此在上下文生命週期的早期被調用。但是,要非常小心你訪問的其他bean,但是可以通過讓bean儘早實例化來引發問題。 –

+0

如果添加BeanPostProcessor,它會在每個bean之後執行,但是我擔心我想執行一個初始化塊,以便它可以像靜態塊一樣填充一些值。 –