举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > spring map Spring教程 - Spring Map属性

spring map Spring教程 - Spring Map属性

2023-05-15 03:31 Spring教程

spring map Spring教程 -  Spring Map属性

spring map

Spring Map 是一个由 Spring 开发的 Java 容器,它可以用来存储和管理 Java 对象。它是一个非常强大的工具,可以帮助开发人员更好地管理应用程序中的对象。

Spring Map 的主要功能是将 Java 对象存储在一个映射中,并使用键值对的方式来访问这些对象。它提供了一种灵活的方法来存储和管理 Java 对象,而不必使用传统的数据库或文件存储方法。

Spring Map 也提供了一些有用的特性,如集合、迭代器、多态、泛型、多线程安全性以及内存优化功能。此外,它还支持多个映射样式(如HashMap、TreeMap、LinkedHashMap 等),并支持各种数据格式(如XML、JSON 等)。

//创建 Spring Map 
Map<String, Object> map = new HashMap<String, Object>(); 
//将对象添加到 Spring Map 中 
map.put("key", "value"); 
//从 Spring Map 中读取对象 
Object value = map.get("key"); 

Spring教程 - Spring Map属性

Spring教程 - Spring Map属性


我们可以将值或值列表填充到Spring xml配置文件中定义的Java bean。

以下部分显示如何向地图填充数据。

Java Bean

为了展示如何使用xml配置文件来填充集合属性,我们定义了一个具有四个集合属性的Customer对象。

package com.www..cnmon;

import java.util.HashMap;
import java.util.Map;

public class Customer {
  private Map<Object, Object> maps = new HashMap<Object, Object>();

  public String toString() {
    return maps.toString();
  }

  public Map<Object, Object> getMaps() {
    return maps;
  }

  public void setMaps(Map<Object, Object> maps) {
    this.maps = maps;
  }
}

这里是Person bean。

package com.www..cnmon;

public class Person {
  private String name;
  private int age;
  private String address;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  public String getAddress() {
    return address;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  @Override
  public String toString() {
    return "Person [name=" + name + ", age=" + age + ", address=" + address
        + "]";
  }  
}


地图

以下代码显示如何将数据填充到java.util.Set类型化属性。

代码填充三个值。 第一个是硬编码值1.第二个是一个bean参考。 我们必须在某处定义PersonBean,以便在此处使用它。 第三个是bean定义与属性设置。 当为java.util.Map填充数据时,我们必须提供键和值对。

...
<property name="maps">
    <map>
      <entry key="Key 1" value="1" />
      <entry key="Key 2" value-ref="PersonBean" />
      <entry key="Key 3">
        <bean class="com.www..cnmon.Person">
          <property name="name" value="java2sMap" />
          <property name="address" value="address" />
          <property name="age" value="28" />
        </bean>
      </entry>
    </map>
</property>
...


例子

Full Spring的bean配置文件。

<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-2.5.xsd">
  <bean id="CustomerBean" class="com.www..cnmon.Customer">
    <!-- java.util.Map -->
    <property name="maps">
      <map>
        <entry key="Key 1" value="1" />
        <entry key="Key 2" value-ref="PersonBean" />
        <entry key="Key 3">
          <bean class="com.www..cnmon.Person">
            <property name="name" value="java2sMap" />
            <property name="address" value="address" />
            <property name="age" value="28" />
          </bean>
        </entry>
      </map>
    </property>
  </bean>
  <bean id="PersonBean" class="com.www..cnmon.Person">
    <property name="name" value="java2s1" />
    <property name="address" value="address 1" />
    <property name="age" value="28" />
  </bean>
</beans>

下面是加载和运行配置的代码。

package com.www..cnmon;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App 
{
    public static void main( String[] args )
    {
      ApplicationContext context = new ClassPathXmlApplicationContext("SpringBeans.xml");
      Customer cust = (Customer)context.getBean("CustomerBean");
      System.out.println(cust);
    }
}

输出


Download Java2s_Spring_Map_Properties.zip

MapFactoryBean

MapFactoryBean类可以创建Map集合类HashMap或TreeMap在Spring的bean配置文件中。

以下代码显示了如何创建HashMap,填充数据,然后将其注入到bean属性中。

这里是Java bean类。

package com.www..cnmon;
//from w  w  w .  ja va2 s  .  c  om
import java.util.HashMap;
import java.util.Map;

public class Customer {
  private Map<Object, Object> maps = new HashMap<Object, Object>();

  public String toString() {
    return maps.toString();
  }

  public Map<Object, Object> getMaps() {
    return maps;
  }

  public void setMaps(Map<Object, Object> maps) {
    this.maps = maps;
  }
}

这里是Spring的bean配置文件。

<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-2.5.xsd">
  <bean id="CustomerBean" class="com.www..cnmon.Customer">
    <property name="maps">
      <bean class="org.springframework.beans.factory.config.MapFactoryBean">
        <property name="targetMapClass">
          <value>java.util.HashMap</value>
        </property>
        <property name="sourceMap">
          <map>
            <entry key="Key1" value="1" />
            <entry key="Key2" value="2" />
            <entry key="Key3" value="3" />
          </map>
        </property>
      </bean>
    </property>
  </bean>
</beans>

Download Java2s_Spring_MapFactoryBean.zip

MapFactoryBean...

我们还可以使用util模式和< util:map> 以将数据填充到java.util.Map。

<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:util="http://www.springframework.org/schema/util"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
  http://www.springframework.org/schema/util
  http://www.springframework.org/schema/util/spring-util-2.5.xsd">
  <bean id="CustomerBean" class="com.www..cnmon.Customer">
    <property name="maps">
      <util:map map-class="java.util.HashMap">
        <entry key="Key1" value="1" />
        <entry key="Key2" value="2" />
        <entry key="Key3" value="3" />
      </util:map>
    </property>
  </bean>
</beans>

Download Java2s_Spring_Map_util.zip

这里是运行应用程序的代码。

package com.www..cnmon;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App 
{
    public static void main( String[] args )
    {
      ApplicationContext context = new ClassPathXmlApplicationContext("SpringBeans.xml");
      Customer cust = (Customer)context.getBean("CustomerBean");
      System.out.println(cust);
    }
}

上面的代码生成以下结果。

阅读全文
以上是鳄鱼CMS为你收集整理的spring map Spring教程 - Spring Map属性全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们