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来当做配置文件中属性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章