从 spring 实用程序列表中删除 bean

Remove bean from spring util list

我有一个 spring bean 实用程序列表。我想删除其中一个。

例如-

<util:list id="abc" value-type="com.Sample">
        <ref bean="bean1"/>
        <ref bean="bean2"/>
        <ref bean="bean3"/>
        <ref bean="bean4"/>
        <ref bean="bean5"/>
        <ref bean="bean6"/>
        <ref bean="bean7"/>
    </util:list>

我想以不包含

的方式覆盖此列表

bean3

.

听起来好像您想有条件地添加 bean。以编程方式可以使用

@Bean(name="abc")
public List<Sample> sampleList(){
    List<Sample> sampleList = new ArrayList<>();
    if (condition) {
      sampleList.add(bean3);
    }
    // add other beans
    return sampleList;
} 

只需删除 bean 即可。虽然,我相信一定有一个优雅的解决方案。

<util:list id="abc" value-type="com.Sample">
        <ref bean="bean1"/>
        <ref bean="bean2"/>
        <!--<ref bean="bean3"/>-->
        <ref bean="bean4"/>
        <ref bean="bean5"/>
        <ref bean="bean6"/>
        <ref bean="bean7"/>
    </util:list>