2016-08-19 139 views
1

我想使用XMl Spring配置來配置下面示例中顯示的條件bean,而不是通過註釋。是否可以通過XML配置來實現條件bean?如何使用XML配置文件配置Spring 4中提供的條件bean

public class TestCondition1 implements Condition 
{ 
    @Override 
    public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) 
    { 
    return context.getEnvironment().getProperty("os.name").contains("Windows"); 
    } 
} 

@Configuration 
public class BeanTestConfiguration 
{ 
    @Bean(name="TesService") 
    @Conditional(TestCondition1.class) 
    public BeanTestConditionService getTestService() 
    { 
    return new BeanTestConditionService(); 
    } 
} 

public class BeanTestConditionService 
{ 
    public BeanTestConditionService() 
    { 
    System.out.println("I am in test setvice"); 
    } 
} 

回答

0

Not supported yet,並且可能不會對某個

最終收盤這是因爲 真的被設計時考慮註釋全狀態模型不會解決,一般是 更適合那裏。如果XML配置仍存在任何常見需求,我們寧願微調已經以XML形式提供的聲明性配置文件模型 。

+1

當然可以通過使用某種形式的工廠bean來完成整個決策,然後從工廠方法配置bean ......但是這當然只能解決xml配置限制,而不能用於xml配置。 –

+0

https://jira.spring.io/browse/SPR-10969 – programmer

相關問題