0
有一些屬性不從配置文件中讀取,而是從某些遠程資源獲取並且是不變的,例如數據庫中的用戶標識。它們在應用上下文中全局爲(這意味着每個應用上下文具有不同值的相同屬性)。全局應用程序上下文/環境運行時屬性
我期望像context.setProperty
或context.setGlobalProperty
或context.getEnvironment().setProperty
,但我找不到這樣的方法。
我現在的解決方案是創建一個單例惰性bean,它在應用程序初始化期間初始化,然後可以自動裝入任何bean。但在我看來,這不是最好的方法。
你不能在'Environment'上設置任何東西,你需要使用'ApplicationContextInitializer'來添加你自己的'PropertySource'。或者在調用'SpringApplication.run'之前獲取屬性,並在'SpringApplication'上使用構建器方法來設置默認屬性。 –
@M。 Deinum問題是,爲了初始化一些屬性,我需要構建一些bean,例如特定的DAO。爲了構建DAO,我需要構建並運行應用上下文。現在我想我必須創建一些初始化全局屬性的父上下文(再次,全局上下文,而不是每個JVM),然後創建具有初始化環境變量的子上下文。這是個好主意嗎? – gumkins