当我们使用配置绑定功能时,可能会出现Could not autowire这种错误,原因是因为当我们使用配置绑定功能实现实例创建的时候,不再是new出来,而是SpringBoot自动帮你加载resource文件中配置中的信息,从而创建实例。
所以要解决和我相同的错误只需要将类中的构造方法去掉即可,因为我们不在需要new这个类的实例了。
配置绑定功能的两种实现方式
一、@Component + @ConfigurationProperties(prefix = "resource文件中的配置信息前缀")
以上注解都写在对应创建实例的类中
二、@ConfigurationProperties(prefix = "resource文件中的配置信息前缀")+@EnableConfigurationProperties(创建实例的类的class对象)
第一个注解写在对应创建实例的类中,第二个注解写在标有@Configuration的类中
总结:推荐第二种,因为如果要创建实例的类如果是第三方的,我们只有使用的权限,只能使用第二种方式,所以我们推荐第二种方式。