读取application文件
在application.yml或者properties文件中添加:
user.address=china
user.company=demo
user.name=让我康康
1、使用@Value注解读取
直接 代码如下:
package im.homeapi.controller;
import org.springframework.beans.factory.annotation.Value;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RestController
@RequestMapping(value="/api")
public class HomeController {
@Value("${user.address}")
private String address;
@Value("${user.company}")
private String company;
@Value("${user.name}")
private String name;
//value 指定访问地址,method 指定请求类型
@RequestMapping(value = "/home",method = RequestMethod.GET)
public String Home()
{
return "Hello Word";
}
@RequestMapping(value = "/getConfig")
public String getConfig() {
return "获取的配置信息 :" +
" name=" + name +
" address=" + address +
" , company=" + company;
}
}
放到单独的配置类中读取:
package im.homeapi.entity;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class UserConfig {
@Value("${user.address}")
private String address;
@Value("${user.company}")
private String company;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Value("${user.name}")
private String name;
}
调用如下:
@Autowired
private UserConfig userConfig;
//读取配置类
@RequestMapping(value = "/getConfigEntity")
public String getConfigEntity() {
return "获取的配置信息 :" +
" name=" + userConfig.getName() +
" address=" + userConfig.getAddress() +
" , company=" + userConfig.getCompany();
}
运行结果如下:
2、使用@ConfigurationProperties注解读取方式
代码如下:
package im.homeapi.entity;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "user")
public class UserConfig1 {
private String address;
private String company;
private String name;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}