運行環境: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)