一、代码中获取环境变量
Spring Boot 借助System类的getenv方法在代码中可以直接获取环境变量,如:
package com.example.demo;
import java.util.Map;
import javax.annotation.PostConstruct;
import org.springframework.context.annotation.Configuration;
@Configuration
public class Config {
@PostConstruct
public void postConstruct() {
System.out.println(System.getenv("JAVA_HOME"));
for (Map.Entry<String, String> entry : System.getenv().entrySet()) {
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}
}
二、配置文件中获取环境变量
Spring Boot 使用${环境变量名称:默认值}在配置文件中获取环境变量,如:
1. 配置文件
java:
home: ${JAVA_HOME}
version: ${JAVA_VERSION:unknown}
url: ${JAVA_URL:unknown}
2. 代码示例
package com.example.demo;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
@Configuration
public class Config {
@Value("${java.home}")
private String javaHome;
@Value("${java.version}")
private String javaVersion;
@Value("${java.url}")
private String javaUrl;
@PostConstruct
public void postConstruct() {
System.out.println(javaHome);
System.out.println(javaVersion);
System.out.println(javaUrl);
}
}
3. 运行结果
C:\Dev\Java\jdk-17.0.1
17.0.1
unknown