【问题标题】:Environment specific properties from user home in springbootSpring Boot 中来自用户主页的环境特定属性
【发布时间】:2017-04-22 19:36:31
【问题描述】:

我正在开发一个 Spring Boot 应用程序,我必须从用户主文件夹中设置 Environment specific properties

我在 Google 上进行了同样的搜索,发现我们可以将不同的属性文件(开发、测试、生产)放在资源下,然后我们必须使用 spring.profiles.active=dev OR prod 告诉 Spring Boot 我们要使用哪个环境。

但是,我的要求完全不同。我将在我的系统中的用户主页中放置一个文件,并希望从该文件中读取属性。我该怎么做,需要指导。

我们将不胜感激。

【问题讨论】:

    标签: spring spring-mvc spring-boot


    【解决方案1】:

    我们使用 EnvironmentPostProcessor 在 Devoxx 演示文稿中解释该用例,请参阅 this section of the presentation 了解更多详细信息。你也可以find the code sample online

    【讨论】:

      【解决方案2】:

      来自Spring Boot docs

      您还可以使用 spring.config.location 环境属性(以逗号分隔的目录位置或文件路径列表)引用显式位置。

      随着文档继续说明,这必须在命令行中指定或作为环境变量指定。

      $ java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties
      

      【讨论】:

        【解决方案3】:

        好吧,在您的情况下,您似乎不需要环境变量。对于生产服务器,您的属性文件将保留在登台机器中,它也将保留在同一位置。因此,无论您在哪里部署它都会从 . IMO您不需要设置环境,您只需将属性文件指向 现在要定义这条路径,你有两种方法.. - 您可以在代码中放置静态路径 - 您可以设置像 Property_Path 这样的环境变量并在 Spring Boot 应用程序中读取它。

        不过,如果你想提前一步,你可以使用spring cloud配置管理器,通过传递应用程序+配置文件名称,CM可以直接从git或文件系统中为你获取属性文件......

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-08
          • 2014-09-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多