【问题标题】:Set/Put value into Spring environment of Spring-boot for using later将值设置/放入 Spring-boot 的 Spring 环境中以供以后使用
【发布时间】:2016-07-20 16:35:47
【问题描述】:

有没有办法设置或放入一些值到org.springframework.core.env.Environment

我们正在使用 Spring-boot 的以下版本。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.1.RELEASE</version>
</parent>

默认情况下,Spring 会将application.properties 加载到org.springframework.core.env.Environment 中。我们可以通过@Autowired Environment 和 getString("key") 来获取值。

假设我们有一个许可文件并将对其进行解码以加载许可期限以验证此系统是否仍然有效,位于ApplicationContextInitializerinitialize()

我们希望将此许可期限保存到Environment 以供以后使用。例如,当用户每次发送一些指定的请求时,我们将再次验证许可期限。这样,我们就不必每次都加载许可证文件并对其进行解码。

或者我们可以用其他更合适的方式来实现这个目的吗?

感谢任何帮助。

【问题讨论】:

    标签: java spring properties spring-boot spring-environment


    【解决方案1】:

    您可以参考this从属性文件中读取。

    如果你想让它特定于环境。然后将您的属性文件设置为

    license-{env}.properties。这样它会加载当前Env的属性文件。

    【讨论】:

    • 您好 Ekansh,感谢您的回复。但是,我们的许可证文件是加密的,所以恐怕我们不能让它作为属性文件加载。我们正在寻找一些方法来将值作为全局变量存储/设置/放入环境中。
    猜你喜欢
    • 2017-10-31
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2016-11-22
    • 2016-02-12
    • 2018-03-22
    相关资源
    最近更新 更多