读取.yml配置文件中的数据创建的java文件时出现了问题,按照之前的案例一点一点来写的但还是出错:
@Component @ConfigurationProperties(prefix = "information") public class s_1_1 { private String age; private String sex; private String weight; private String height; public String getWeight(){ return weight; } public void setweight(String weight){ this.weight=weight; } public String getSex(){ return sex; } public void setSex(){ this.sex=sex; } public String getAge(){ return age; } public void setAge(){ this.age=age; } public String getHeight(){ return height; } public void setHeight(){ this.height=height; } @Override public String toString(){ return "information{"+ "age='"+age+ "sex='"+sex+ "weight='"+weight+ "height='"+height; } }
Failed to bind properties under 'information' to com.example.demo报错是这
在网上查阅资料后发现别人的有一个@Data注解,于是我也想着加入以下尝试一下
@Component @ConfigurationProperties(prefix = "information") @Data public class s_1_1 { private String age; private String sex; private String weight; private String height; public String getWeight(){ return weight; } public void setweight(String weight){ this.weight=weight; } public String getSex(){ return sex; } public void setSex(){ this.sex=sex; } public String getAge(){ return age; } public void setAge(){ this.age=age; } public String getHeight(){ return height; } public void setHeight(){ this.height=height; } @Override public String toString(){ return "information{"+ "age='"+age+ "sex='"+sex+ "weight='"+weight+ "height='"+height; } }
还有另外一个java文件是这样子的:
@Controller public class controller { private final Logger logger = LoggerFactory.getLogger( this.getClass()); private final Logger logger1 = LoggerFactory.getLogger( this.getClass()); @Autowired s_1 multienvConfig; @GetMapping ("/hello") public String index(){ logger.info(multienvConfig.getDemoname()); return "index"; } @Autowired s_1_1 s11; @GetMapping("/sgl") public String index1(){ logger1.info(s11.getWeight()); logger1.info(s11.getHeight()); logger1.info(s11.getAge()); logger1.info(s11.getSex()); return "HEIGHT"; } }
就可以执行,在浏览器界面中加载后可以运行
于是上网查阅资料,发现@Data注解是简化代码使用的,于是代码改成:
@Component @ConfigurationProperties(prefix = "information") @Data public class s_1_1 { private String age; private String sex; private String weight; private String height; }
也可以使用。