zoukankan      html  css  js  c++  java
  • Spring/Spring Boot的外部化配置

    不论是一个简单的Java程序或者是基于Spring或者Spring Boot框架实现的程序,都存在外部化配置信息的需求,例如一个抽奖程序需要制定随机器的种子值,或者与数据库建立连接的url/username/password,这些配置信息你都不希望直接固定写入程序中,因此需要一种方式能够外部化制定这些配置信息,在代码的对这些数据的使用点读取对应的配置来实现动态化程序的行为。

     可以实现外部化配置的方式包括:

    1.  环境变量(Environment variables), Java程序可以通过API System.getEnv(String key)来获取环境变量列表当中的key/value集合中对应的值。 对于使用Jekin Pipeline或者shell脚本方式运行java程序的方式,环境变量注入配置值是一种可以考虑的方式。

    2. Java系统属性(System Properties),

    1.  环境变量(System.getEnv)

    Environment variables are set in the OS, e.g. in Linux export HOME=/Users/myusername or on Windows SET WINDIR=C:Windows etc, and, unlike properties, may not be set at runtime.
    To get a specific environment variable you can use System.getenv(String name).

    2. Java系统属性(System.getProperties)

    System properties are set on the Java command line using the -Dpropertyname=value syntax. They can also be added at runtime using System.setProperty(String key, String value) or via the various System.getProperties().load() methods.
    To get a specific system property you can use System.getProperty(String key) or System.getProperty(String key, String def). As it happens, Java chose to expose OS variables as properties (just as Java exposes current directory and "other stuff" as properties)

    Different from Environment Variables: https://www.baeldung.com/java-system-get-property-vs-system-getenv

    3. spring的外部化配置策略

         spring.config.location, 只对spring boot有效,查找配置文件的详细地址。

         Property and Enviroment

         application.properties/.yml

         Common sub project configuration

       above spring 3.1 and below spring 3.1 ,  propertysourceplaceholder propertyplaceholder   <context: place-holder> @PropertySource

  • 相关阅读:
    DB2 字段操作
    解析二维码
    Eclipse tomcat 内存溢出
    hereim_美句_1
    js自定义函数默认参数的写法
    PHP和JS判断访问客户端的是PC还是移动设备
    lampp服务器配置httpd-vhosts.conf文件,设置多域名
    价值7000万的商业模式,羊毛出在狗身上,猪来买单
    确保 PHP 应用程序的安全
    美国淘金的故事
  • 原文地址:https://www.cnblogs.com/dongyuanshi/p/9869118.html
Copyright © 2011-2022 走看看