大家好,我是网创有方 。这节记录下如何使用ConfigurationProperties来实现自动注入配置值。。实现将配置文件里的application.properties的参数赋值给实体类并且打印出来。
第一步:新建一个实体类WechatConfig
package cn.wcyf.wcai.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration //声明是个配置类
@ConfigurationProperties("wechat")
public class WechatConfig {
public String getAppId() {
return appId;
}
public void setAppId(String appId) {
this.appId = appId;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getSecretKey() {
return secretKey;
}
public void setSecretKey(String secretKey) {
this.secretKey = secretKey;
}
private String appId;
private String token;
private String secretKey;
}
其中的
@Component("WechatConfig")
这个注解起的作用,我们前面的文章已经讲过了,@ConfigurationProperties("wechat")这个注解的意思是告诉实体类WechatConfig,你的参数从application.properties文件中获取,其中wechat就是标记。
第二步:新建一个Controller,并且编写一个requestMapping方法
@RestController
public class HellowordController {
@Autowired
private WechatConfig wechatSetting;
@RequestMapping("/helloword")
public String getHelloword(){
return "helloword";
}
@RequestMapping("/getWechatSetting")
public String getWechatSetting(){
return wechatSetting.getAppId()+" "+wechatSetting.getToken()+" "+wechatSetting.getSecretKey();
}
}
第三步:编写跟实体类对应赋值的application.properties参数
wechat.app-id=wx4dqdadqqdq
wechat.token=da6644qd44ad72q
wechat.secret-key=7a78d57q4523szd45357
这里的标记wechat和前面的实体类中的wechat标记是同一个,这样确保能正确获取到配置文件中的参数值。