java中Value注解可以读取yml的配置信息 但是 如果信息特别多的时候 这样 我们用一个就要定义一个变量 非常的麻烦
我们可以通过Environment对象去获取
这里 我在启动类的同级目录下创建了一个controller 下面创建了一个 UserController类
参考代码如下
package com.example.threshold.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.*;
//声明Controller控制器
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private Environment env;
// 设置一个 GET接口 子路径get 接受一个id参数 id要跟在路径后面
@GetMapping
public String getId() {
return env.getProperty("userfieUrl");
}
}
简单说 我们通过Autowired 获取Environment 对象 定义了一个env来接受这个值 这个叫自动装配
然后 我们在getId方法中返回了 env调用的getProperty中查询到的值 查询的值是 userfieUrl
意思是 拿到yml配置中的 userfieUrl
然后 我们运行代码
可以看到 配置信息也是顺利拿到了