是否可以创建一个具有Spring配置的集合? [英] Is it possible to create a collections with Spring configuration?

查看:106
本文介绍了是否可以创建一个具有Spring配置的集合?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有一个类 MyClass ,可以使用 String 来实例化它,类。

Suppose I have a class MyClass which can be instantiated either with String or it have predefined static instances inside a class.

这样:

public class MyClass {

   public final static MyClass A = new MyClass("A");
   public final static MyClass B = new MyClass("B");
   public final static MyClass C = new MyClass("C");
   ...

   public MyClass(String name) {
      ...
   }
}

有可能在Spring config中创建一个 ArrayList< MyClass>

Is it possible to create an ArrayList<MyClass> bean in Spring config somehow? Something like

<bean id="sequence" class="...ArrayList"> 
    <member class="...MyClass" value="A"/>
    <member ... />
    ....
</bean>

UPDATE 1

是否可以编写以下方式:

Is it possible to write following way:

<bean id="sequence" class="...ArrayList"> 
  <constructor-arg>
     <list>
         <bean class="...MyClass" constructor-arg="A"/>
         <bean class="...MyClass" constructor-arg="B"/>
         <bean class="...MyClass" constructor-arg="C"/>
     </list>
  </constructor-arg>
</bean>


推荐答案

您可以:

<bean id="myClassA" class="org.foo.MyClass"> 
   <constructor-arg>
     <bean class="java.lang.String">
       <constructor-arg value="A"/>
     </bean>   
   <constructor-arg>
</bean>

<bean id="sequence" class="java.util.ArrayList">
    <constructor-arg>
        <list>
            <ref bean="myClassA" />
            ...
        </list>
    </constructor-arg>
</bean>

但是,请注意,最常见的方法是将列表直接插入到bean中,列表中的列表。

Note, however, that the most common approach is to inject a list directly into a bean rather than wrapping a list within a list first.

这篇关于是否可以创建一个具有Spring配置的集合?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆