第一步:首先我们需要写这个接口的入口处也就是Controller类
/**
* @RestController 代表自己是个请求接口的拦截类
*/
@RestController
public class UserController {
/**
* @Autowired 将实体对象进行了依赖注入
*/
@Autowired
UserProperties userProperties;
/**
* 定义了接口的名称
* @return
*/
@GetMapping("/getUser")
public String getUser() {
return "name = " +userProperties.getName()
+" age = "+userProperties.getAge()
+" sex="+userProperties.getSex();
}
}
第二步:我们看下数据的实体对象如何处理
/**
* @Component 的意思就是将该类进行依赖注入的声明 ,之后通过@Autowired就可以直接使用该
* 类的实体,而无须在new 该对象
*/
@Component
public class UserProperties {
@Value("${user.name}")
private String name;
@Value("${user.age}")
private int age;
@Value("${user.sex}")
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
我们注意一下,该实体类有个特殊的符号,为@Value("${user.name}") 这个是什么意思呢?
就是当我们在请求接口的时候,因为我们没有数据源(数据库),我们就没有办法给userInfo进行赋值,哪该怎么办呢?
第三步:使用全局参数给userPro进行赋值,我们进入到application.properties文件下,添加如下信息:
## 用户属性 Dev
user.name= malei
user.age=22
user.sex=male
这样,我们就启动项目把 http://localhost:8080/getUser