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容器進行管理。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. vue實現web在線聊天功能2. JavaScript實現頁面動態驗證碼的實現示例3. JavaEE SpringMyBatis是什么? 它和Hibernate的區別及如何配置MyBatis4. Springboot 全局日期格式化處理的實現5. SpringBoot+TestNG單元測試的實現6. 完美解決vue 中多個echarts圖表自適應的問題7. 解決Android Studio 格式化 Format代碼快捷鍵問題8. 在Chrome DevTools中調試JavaScript的實現9. Python使用urlretrieve實現直接遠程下載圖片的示例代碼10. Java使用Tesseract-Ocr識別數字
