本文介绍: Value注入变量用于从SpringBoot项目Environment对象中获取变量值,Environment 对象中的变量来源于配置文件,程序启动参数、JVM环境变量、操作系统环境变量。程序启动参数与配置文件中定义了相同的变量时,程序启动参数将会覆盖配置文件中变量的值。从SpringBoot项目Environment对象中获取变量值,Environment 对象中的变量来源于配置文件,程序启动参数、JVM环境变量、操作系统环境变量。变量的值,一定要将这个变量在操作系统环境变量中定义,如果这个变量在。
1. 变量类型
2. 获取变量
2.1 获取方式
2.2 获取方法
2.2.1 通过@Value注入获取变量值
@Value注入变量用于从SpringBoot项目Environment对象中获取变量值,Environment 对象中的变量来源于配置文件,程序启动参数、JVM环境变量、操作系统环境变量。程序启动参数与配置文件中定义了相同的变量时,程序启动参数将会覆盖配置文件中变量的值。
从配置文件中获取变量值,如在 application.properties
、bootstrap.yml
等定义好环境变量后,程序中可通过 @Value 注入变量的方式获取变量值。例如在 application.properties 中定义变量:
如果在JVM环境变量、操作系统环境变量、配置文件,程序启动参数中定义了相同的变量名,变量值的优先级是:JVM环境变量 > 程序启动参数 > 操作系统环境变量 > 配置文件参数
2.2.2 System.genenv 获取变量值
System.getenv() 是 Java 内置方法,用于获取操作系统环境变量。
获取操作系统环境变量,采用这种方式获取 jasypt_encryptor_password
变量的值,一定要将这个变量在操作系统环境变量中定义,如果这个变量在 application.properties
、bootstrap.yml
中定义则将无法被获取。
在操作系统中定义环境变量时,变量名中不能有 .
号,例如 jasypt.encryptor.password
不能设置成操作系统的环境变量。可以使用 _
来代替 .
号。
2.2.3 System.getProperty 获取变量值
2.2.4 Environment 获取变量值
2.2.5 @ConfigurationProperties 获取变量值
2.2.6 SpringApplication.run 程序启动参数中获取变量值
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。