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容器进行管理。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持好吧啦网。
相关文章:
