使用spring注释将值传递给变量

时间:2015-09-03 08:25:35

标签: java spring

我是Spring技术的新手。我有一个小疑问。我了解到我们可以使用beans.xml文件在类列表中传递值,如下所示

    <bean id="Hello" class="mywork.Hello">
    <property name="myList">
        <list>
            <value>India</value>
            <value>Pakistan</value>
            <value>Nepal</value>
            <value>China</value>
        </list>
   </property>
   </bean>

我还发现我们使用的注释与xml文件的工作方式相同。 我正在寻找替代注释用于将此值传递到我的班级。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用@Value或@Resource注释将列表注入到您的类中。首先,您需要在spring xml

中声明util模式
<beans ....
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="....
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
  1. 使用@Value
  2. 在xml中,声明属性文件位置。像这样:

    <util:properties id="systemPropertyLookup" location="classpath:system.properties"/>
    

    然后将您的字符串数组定义放入system.properties文件:

    my.country.list=India,Pakistan,Nepal,China
    

    最后,将数组注入Hello类列表,如下所示:

    @Value("${my.country.list}")
    private List<String> myList;
    
    1. 使用@Resource
    2. 在xml中,声明您的列表:

      <util:list id="myCountryList" value-type="java.lang.String">
          <value>India</value>
          <value>Pakistan</value>
          <value>Nepal</value>
          <value>China</value>
      </util:list>
      

      然后注入你的班级:

      @Resource(name="myCountryList")
      private List<String> myList;