springboot如何使用@Value獲取配置文件的值
spring.activemq.broker-url=tcp://localhost:61616spring.activemq.user=adminspring.activemq.password=adminspring.activemq.in-memory=truespring.activemq.pool.enabled=false2、創(chuàng)建測(cè)試類(lèi)(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、打開(kāi)瀏覽器訪問(wèn) http://localhost:8080/myTest,控制臺(tái)輸出結(jié)果


@Slf4j@Componentpublic class FileUtils { @Value('${document.path.output}') private String outPath; }document: path: output: E:/workspace/doc_convert/tmp二、解決方式
新創(chuàng)建了一個(gè)SpringBoot項(xiàng)目,在使用@Value獲取配置文件中的值時(shí),一直為null。
通過(guò)排查發(fā)現(xiàn),雖然值為null,說(shuō)明配置的參地址是正確的,只是在Spring進(jìn)行依賴(lài)注入的時(shí)候沒(méi)有把這個(gè)值注入到變量中來(lái)。
通過(guò)檢查發(fā)現(xiàn),是由于使用此類(lèi)(注解所在的類(lèi))時(shí)候是直接new的,并沒(méi)有將此類(lèi)的創(chuàng)建交由Spring容器進(jìn)行管理。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 在IDEA中實(shí)現(xiàn)同時(shí)運(yùn)行2個(gè)相同的java程序2. Java如何基于反射機(jī)制獲取不同的類(lèi)3. IntelliJ IDEA安裝插件的方法步驟4. Android table布局開(kāi)發(fā)實(shí)現(xiàn)簡(jiǎn)單計(jì)算器5. asp判斷某個(gè)文件是否存在的函數(shù)6. 理解PHP5中static和const關(guān)鍵字7. ASP.NET泛型三之使用協(xié)變和逆變實(shí)現(xiàn)類(lèi)型轉(zhuǎn)換8. PHP安全-命令注入9. Python包資源下載路徑報(bào)404解決方案10. .NET Core Web APi類(lèi)庫(kù)內(nèi)嵌運(yùn)行的方法

網(wǎng)公網(wǎng)安備