查阅的可能原因:
1:认为缺少构造函数
解决springboot不能解析@ConfigurationProperties(prefix = “xxx“)_无法解析符号 'configuration-CSDN博客
2:没有给属性值加添get和set方法
@ConfigurationProperties给自定义的属性赋值不成功的原因_自定义注解给属性赋值不起作用-CSDN博客
3:定义的属性值带有下划线符号'_'
@ConfigurationProperties(prefix = "xxx")的值取出为空_configurationproperties 取不到值-CSDN博客
4:set方法是静态的
@ConfigurationProperties 获取不到配置文件属性值_configurationproperties读取不到属性-CSDN博客
很不巧 我不是上面的坑。。。
配置类:
@Component
@ConfigurationProperties(prefix = "alipay")
public class Alipay {
private String appId;
public String getAppId() {
return appId;
}
public void setAppId(String appId) {
this.appId = appId;
}
@Override
public String toString() {
return "Alipay{" +
"appId='" + appId + '\'' +
'}';
}
}
yml配置文件:
alipay:
appId: 123
错误点:
@RestController
public class HelloController {
@Autowired
private Alipay alipay; //正确用法 注入一个配置类
@RequestMapping("/hello")
public String hello(){
Alipay alipay1 = new Alipay();
System.out.println("注入的"+alipay.getAppId());
System.out.println("直接new的"+alipay1.getAppId());
return "hello springboot";
}
}
访问127.0.0.1:8080/hello 的结果: