1. 程式人生 > 程式設計 >SpringBoot 使用 @Value 註解讀取配置檔案給靜態變數賦值

SpringBoot 使用 @Value 註解讀取配置檔案給靜態變數賦值

1、application.properties 配置檔案

[email protected]
mail.password=xue
mail.host=smtp.163.com
mail.smtp.auth=true

2、給普通變數賦值,直接在變數上新增 @Value 註解

import org.springframework.beans.factory.annotation.Value;

public class MailConfig {
  @Value("${mail.username}")
  private String username;
  @Value("${mail.password}")
  private String password;
  @Value("${mail.host}")
  private String host;
}

3、給靜態變數賦值,直接在靜態變數上新增 @Value 註解無效

SpringBoot 使用 @Value 註解讀取配置檔案給靜態變數賦值

4、給靜態變數賦值

1、使用 set 方法

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class MailConfig {
  public static String username;
  public static String password;
  public static String host;

  @Value("${mail.username}")
  public void setUsername(String username) {
    this.username = username;
  }

  @Value("${mail.password}")
  public void setPassword(String password) {
    this.password = password;
  }

  @Value("${mail.host}")
  public void setHost(String host) {
    this.host = host;
  }
}

2、使用 @PostConstruct(推薦使用)

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

@Component
public class MailConfig {
  public static String USERNAME;
  public static String PASSWORD;
  public static String HOST;

  @Value("${mail.username}")
  private String username;
  @Value("${mail.password}")
  private String password;
  @Value("${mail.host}")
  private String host;

  @PostConstruct
  public void init() {
    USERNAME = username;
    PASSWORD = password;
    HOST = host;
  }
}

到此這篇關於SpringBoot 使用 @Value 註解讀取配置檔案給靜態變數賦值的文章就介紹到這了,更多相關SpringBoot @Value 靜態變數賦值內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!