springboot中的@value取不到正确的值问题
作者:ajdxwz
这篇文章主要介绍了springboot中的@value取不到正确的值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
springboot 的@value取不到正确的值
- 写了一个简单的属性注入demo,发现个问题,因为开发中习惯性的写user,所以恰好问题也出在这里。
- 代码如下:
package com.demo.zz; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class zz { public static void main(String[] args) { SpringApplication.run(zz.class, args); System.err.println(44566); } @Value("${user.name}") private String name; @RequestMapping("/getinfo") public String getInfo() { return "name is :" + name+age; } }
- application.properties中的配置
server.port=8852 user.name=sdfas user.age=155
测试结果
- 我们在postman或者浏览器中访问这个接口,最开始当我们的配置文件中值有name时,我们获取到的值是自己电脑的主机名
- 当我们的只注入user.age时,会发现不能解析这个注解。会发生参数异常
备注
项目中最好不用user来当做配置文件中属性
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。