基于Java的方法用于注入spring bean列表

时间:2015-07-15 06:30:20

标签: spring spring-bean

我试图摆脱我的XML bean定义文件。我想知道如何将以下XML配置转换为Java代码。

<bean id="CustomerBean" class="com.java2s.common.Customer">
    <property name="lists">
      <bean class="org.springframework.beans.factory.config.ListFactoryBean">
        <property name="targetListClass">
          <value>java.util.ArrayList</value>
        </property>
        <property name="sourceList">
          <list>
            <value>1</value>
            <value>2</value>
            <value>3</value>
          </list>
        </property>
      </bean>
    </property>
  </bean>

我特别想知道如何将列表,Set,Map和属性XML配置转换为Java代码。

如果在列表中,如果我按照

顺序定义了bean
<bean p:order="1000"

我如何在java代码中管理相同的顺序。

1 个答案:

答案 0 :(得分:3)

<list>对应java.util.List<map>对应java.util.Map<props>对应java.util.Properties,依此类推。

要设置顺序,请在bean上使用org.springframework.core.annotation.Order注释或让它实现org.springframework.core.Ordered

您的XML配置的等价物如下:

@Bean
public Customer CustomerBean() {
   Customer customer = new Customer();
   List<String> lists = new ArraysList<>();
   lists.add("1");
   lists.add("2");
   lists.add("3");
   customer.setLists(lists);
   return customer;
}

请注意,方法的名称将是bean的名称。