2 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
正如 Maciej Kowalski 指出的那樣,這個(gè)問題可能與@ComponentScan
注釋有關(guān)。
如果您正在使用它,請(qǐng)考慮添加一個(gè)excludeFilter
以確保您只得到您真正想要的。您可能希望排除注釋找到的其他配置類@ComponentScan
:
@ComponentScan(excludeFilters = { @ComponentScan.Filter(type = FilterType.ANNOTATION, value = Configuration.class) })
順便說一句:我真的推薦使用 IntelliJ IDEA 作為 IDE,因?yàn)樗泻馨舻?spring 支持。您可以通過單擊代碼左側(cè)的綠色圖標(biāo)(第 9 行)來查找通過掃描找到的 bean/組件:
這使得調(diào)試掃描問題更加容易。

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
我在我的項(xiàng)目中遇到了同樣的問題,這是因?yàn)?code>@ComponentScan由于注釋,它也在拾取那個(gè)類@Configuration
。
當(dāng)我刪除該注釋并因此使組件掃描忽略它時(shí),一切正常。所以你可以這樣:
@Import({WorkingTimeConfig.class, PartnerConfig.class, ProjectConfig.class, UserConfig.class, AccountGroupConfig.class, LanguageConfig.class, CountryConfig.class, EventConfig.class, LanguageConfig.class}) static class Config {
刪除@Configuration
注解并沒有阻止@ContextConfiguration(classes = EventServiceTest.Config.class)
配置無論如何選擇它。
添加回答
舉報(bào)