Spring Boot 自定义配置文件异常"expected single matching bean but found 2"

运行环境:Spring Boot 2.5.0, IDEA 2020.3.2

异常详细信息:

Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'com.example.demo.config.MyConfigProperties' 
available: expected single matching bean but found 2: myConfigProperties,test-com.example.demo.config.MyConfigProperties

一开始是这样写的

@Configuration
@PropertySource("classpath:myConfig.properties")
@ConfigurationProperties(prefix = "test")
@Component
@Data
public class MyConfigProperties {
    private String name;
    private int age;
}
@SpringBootApplication
@EnableConfigurationProperties(MyConfigProperties.class)
public class DemoApplication {

	public static void main(String[] args) {

		SpringApplication.run(DemoApplication.class, args);
	}

}
@RestController
public class IndexController {
    @Resource
    private  MyConfigProperties myConfig;

    @RequestMapping("/config")
    String customConfig() {
        String name = myConfig.getName();
        return  name + myConfig.getAge();
    }
}
 
然后,运行的时候就报了上面那个错。
 
解决方案是删除入口类上的 
@EnableConfigurationProperties(MyConfigProperties.class)
 
 
 
 
posted @ 2021-06-10 14:50  mayhot  阅读(1194)  评论(0编辑  收藏  举报