如何在Spring Bean中定义List <e>类型的属性?

时间:2017-09-13 22:30:33

标签: spring pojo spring-bean

我使用Hybris,在beans.xml文件中,我们可以定义要在项目中使用的POJO。

我想知道如何在Spring中使用List类型的属性定义POJO,其中E应该是我在beans.xml中定义的另一种类型。

例如,我想像这样定义一个POJO:

public class MyPojo{
   private String someProperty;

   public String getSomeProperty(){
      return someProperty;
   }
   public void setSomeProperty(String someProperty){
      this.someProperty = someProperty;
   }
}

另一个包含MyPojo列表的POJO:

public class MyPojoListHolder{
    private List<MyPojo> myPojoList;

   public List<MyPojo> getMyPojoList(){
      return myPojoList;
   }
   public void setMyPojoList(String myPojoList){
      this.myPojoList= myPojoList;
   }
}

MyPojo将在我的beans.xml中定义如下:

<bean class="my.package.MyPojo">
    <property name="someProperty" type="java.lang.String"></property>
</bean>

我可以像这样定义MyPojoListHolder:

<bean class="my.package.MyPojoListHolder">
    <property name="myPojoList" type="java.util.List"></property>
</bean>

但是这会创建一个myPojoList定义为List对象的类,但我希望它被定义为List。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

例如,您可以这样做:

<property name="genders" type="java.util.List&lt;com.your.package.data.GenderData>"/>

在你的例子中,你最终会得到

<bean class="my.package.MyPojoListHolder">
  <property name="myPojoList" type="java.util.List&lt;my.package.MyPojo>"></property>
</bean>