Spring Boot 配置(三)环境变量

3,539 阅读1分钟

一、代码中获取环境变量

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