大家好,我是网创有方 。这节记录下如何使用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 {@Autowiredprivate 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标记是同一个,这样确保能正确获取到配置文件中的参数值。