Java如何在Spring中使用map元素注入集合?

在此示例中,您将看到如何连接映射集合。为此,我们可以使用<map>Spring配置文件中的元素。此元素声明java.util.Map。我们将重用在上一个示例中使用的Bean。如何在Spring中使用list元素注入集合?

该<map>元素可以有许多<entry>与元素key和value-ref属性。

这是配置示例:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="song1">

        <property name="title" value="I Saw Her Standing There" />

        <property name="writer" value="Beatles" />

    </bean>

    <bean id="song2">

        <property name="title" value="Misery" />

        <property name="writer" value="Beatles" />

    </bean>

    <bean id="song3">

        <property name="title" value="Anna (Go to Him)" />

        <property name="writer" value="Beatles" />

    </bean>

    <bean id="publisher">

        <property name="name" value="EMI Studios"/>

    </bean>

    <bean id="album">

        <property name="title" value="Please Please Me"/>

        <property name="year" value="1963"/>

        <property name="publisher">

            <map>

                <entry key="publisher" value-ref="publisher"/>

            </map>

        </property>

    </bean>

</beans>

该<map>元素可以具有许多<entry>元素。我们可以使用该key属性将字符串用作其键。如果您希望键在Spring上下文中引用其他bean,则可以使用key-ref。

将value-ref用于设置参考另一个Bean中的值。如果该值是简单值(例如字符串),则可以使用该value属性。

要运行它,请创建以下程序:

package org.nhooo.example.spring.collection;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class DemoMap {

    public static void main(String[] args) {

        ApplicationContext context = new ClassPathXmlApplicationContext(

            new String[]{"collection-map.xml"});

        Album album = (Album) context.getBean("album");

        System.out.println("Album = " + album);

    }

}

这是您将在控制台上看到的内容:

Album = Album{title='Please Please Me', year=1963, songs=[], publisher={publisher=Publisher{name=EMI Studios}}, props={}}

                       

以上是 Java如何在Spring中使用map元素注入集合? 的全部内容, 来源链接: utcz.com/z/315873.html

回到顶部