0
我用了名,創建由配置豆彈簧引導創建了名稱豆會導致「NoSuchBeanDefinitionException,沒有類型的排位豆[]發現依賴」
@Configuration
@ConfigurationProperties(prefix = "mysql")
public class DbConfiguration extends BaseDbConfiguration {
@Bean//(name = "fix")
@Override
public DbClient createClient() {
return super.createClient();
}
}
用法:
@Autowired
private DbClient dbClient;
當我運行的應用程序無法啓動
,並拋出NoSuchBeanDefinitionException:
找不到符合依賴關係的[DbClient]類型的合格bean:期望至少1個符合此依賴關係自動裝配候選資格的bean。 依賴註釋:{@ org.springframework.beans.factory.annotation.Autowired(required = true)}
但是我通過添加名稱來解決它,爲什麼?
@Bean(name = "fix")
我還添加了一個測試,例如像這樣:
public class TestCreate {
@NotNull
private int test;
public Test createTest() {
return new Test(this.test);
}
}
它的配置是這樣的:
@Configuration
@ConfigurationProperties(prefix = "test")
public class TestConfiguration extends TestCreate {
@Override
@Bean
public Test createTest() {
return super.createTest();
}
}
與自動裝配這樣的:
@Autowired
private Test test;
然而,這測試可能效果不錯
它還沒有名字和自動裝配Autowired創建豆用了預選賽
請告訴我爲什麼....感謝