1. 程式人生 > >springboot @Value獲取值為空,解決辦法

springboot @Value獲取值為空,解決辦法

rtp spring val 內容 log long value cati 必須

在spring中,常常使用 @Value("${property}") 從application.properties中取值,需要註意兩點

  1. 使用 @Value 的類不能使用 new 關鍵字進行實例化對象,必須采用 依賴註入的方式進行實例化
  2. 不能使用顯式的構造方法

否則,將取不到值.解決方法如下:

  •   刪除顯式的構造方法,需要使用構造方法初始化的內容可以使用@PostConstruct
@PostConstruct //加上該註解表明該方法會在bean初始化後調用
private void init() {
  //添加你的內容
}

  •   使用構造方法註入
public LogConsumer(@Value("${report.period}") long
reportPeriod) { this.reportPeriod = reportPeriod; System.out.println(reportPeriod + "1111111111111111111111111111111111111111"); }

springboot @Value獲取值為空,解決辦法