0
有一些属性不从配置文件中读取,而是从某些远程资源获取并且是不变的,例如数据库中的用户标识。它们在应用上下文中全局为(这意味着每个应用上下文具有不同值的相同属性)。全局应用程序上下文/环境运行时属性
我期望像context.setProperty
或context.setGlobalProperty
或context.getEnvironment().setProperty
,但我找不到这样的方法。
我现在的解决方案是创建一个单例惰性bean,它在应用程序初始化期间初始化,然后可以自动装入任何bean。但在我看来,这不是最好的方法。
你不能在'Environment'上设置任何东西,你需要使用'ApplicationContextInitializer'来添加你自己的'PropertySource'。或者在调用'SpringApplication.run'之前获取属性,并在'SpringApplication'上使用构建器方法来设置默认属性。 –
@M。 Deinum问题是,为了初始化一些属性,我需要构建一些bean,例如特定的DAO。为了构建DAO,我需要构建并运行应用上下文。现在我想我必须创建一些初始化全局属性的父上下文(再次,全局上下文,而不是每个JVM),然后创建具有初始化环境变量的子上下文。这是个好主意吗? – gumkins