3 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
@ConditionalOnMissingBean
將執(zhí)行您的代碼,而您想要的是相反的-不執(zhí)行。也許您應(yīng)該嘗試混合使用@ConditionalOnClass
并@AutoConfigureAfter
在您發(fā)布的鏈接中的示例中提供。
我已經(jīng)在一些與數(shù)據(jù)庫(kù)相關(guān)的 bean 和Conditional
s 的操作中使用過(guò),并且AutoconfigureAfter
確實(shí)做到了這一點(diǎn)。只需要更好地了解您的應(yīng)用程序,以便能夠提供更具體的建議

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
問(wèn)題是您只能@ConditionalOnMissingBean
在自動(dòng)配置上下文中使用。javadoc 說(shuō)
該條件只能匹配到目前為止已被應(yīng)用程序上下文處理的 bean 定義,因此,強(qiáng)烈建議僅在自動(dòng)配置類上使用該條件
我試圖在常規(guī)應(yīng)用程序中使用注釋。一旦我這樣做了(具體來(lái)說(shuō),將類添加到),它就可以通過(guò)使用來(lái)spring.factories
檢測(cè)@EnableWebMvc
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
您需要確保@ConditionalOnMissingBean
帶注釋的 bean 創(chuàng)建將在創(chuàng)建后?WebMvcConfigurationSupport
發(fā)生。
來(lái)自 spring文檔,
當(dāng)前 bean 所依賴的 beans。指定的任何 bean 都保證在該 bean 之前由容器創(chuàng)建。
除了此處解釋的之外,還使用@DependsOn
注釋。?@ConditionalOnMissingBean
并確保您在@configuration
帶注釋的類中執(zhí)行這些操作。
@Configuration
public class Config {
? ? @Bean
? ? @DependsOn({"webMvcConfigurationSupport"})
? ? @ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
? ? ?public FileProcessor fileProcessor(){
? ? ? ? return new FileProcessor();
? ? }
在此示例中,僅當(dāng)缺少 webMvcConfigurationSupport bean 時(shí)才會(huì)創(chuàng)建 fileProcessor。
添加回答
舉報(bào)