springboot如何使用@Value獲取配置文件的值
spring.activemq.broker-url=tcp://localhost:61616spring.activemq.user=adminspring.activemq.password=adminspring.activemq.in-memory=truespring.activemq.pool.enabled=false2、創建測試類(MyController.java)
package com.jeff.controller;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class MyController {@Value('${spring.activemq.user}')private String user;@RequestMapping('myTest')public String myTest() {System.out.println('user的值:' + user);return 'success';}}3、打開瀏覽器訪問 http://localhost:8080/myTest,控制臺輸出結果
@Slf4j@Componentpublic class FileUtils { @Value('${document.path.output}') private String outPath; }document: path: output: E:/workspace/doc_convert/tmp二、解決方式
新創建了一個SpringBoot項目,在使用@Value獲取配置文件中的值時,一直為null。
通過排查發現,雖然值為null,說明配置的參地址是正確的,只是在Spring進行依賴注入的時候沒有把這個值注入到變量中來。
通過檢查發現,是由于使用此類(注解所在的類)時候是直接new的,并沒有將此類的創建交由Spring容器進行管理。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: