java set和listap_Spring框架: bean注入Java集合类型(如List,Set,Map和Properties)的多个值 - Break易站...

你已经看到了如何使用bean配置文件中的标记的ref属性使用值属性和对象引用来配置基本数据类型。这两种情况都涉及将单数值传递给bean。

现在,如果要传递像Java集合类型(如List,Set,Map和Properties)的多个值,该怎么办?为了处理这种情况,Spring提供了四种类型的集合配置元素,如下所示 -

元素和说明

1

这有助于接线,即注入一个值列表,允许重复。

2

这有助于连线一组值,但没有任何重复。

3

这可以用于注入名称和值对可以是任何类型的集合。

4

这可以用于注入名称和值均为字符串的名称 - 值对集合。

您可以使用或来连接java.util.Collection或数组的任何实现。

您将遇到两种情况(a)传递集合的直接值和(b)将bean的引用作为集合元素之一传递。

让我们使用Eclipse IDE,并采取以下步骤创建一个Spring应用程序 -

描述

1

创建一个名称为SpringExample的项目,并在创建的项目的src文件夹下创建一个com.breakyizhan包。

2

按照Spring Hello World Example章节的介绍,使用Add External JARs选项添加所需的Spring库。

3

在com.breakyizhan包下创建Java类JavaCollection和MainApp。

4

在src文件夹下创建Beans配置文件Beans.xml。

5

最后一步是创建所有Java文件和Bean配置文件的内容并按照下面的说明运行应用程序。

这里是JavaCollection.java文件的内容-

package com.breakyizhan;

import java.util.*;

public class JavaCollection {

List addressList;

Set addressSet;

Map addressMap;

Properties addressProp;

// a setter method to set List

public void setAddressList(List addressList) {

this.addressList = addressList;

}

// prints and returns all the elements of the list.

public List getAddressList() {

System.out.println("List Elements :" + addressList);

return addressList;

}

// a setter method to set Set

public void setAddressSet(Set addressSet) {

this.addressSet = addressSet;

}

// prints and returns all the elements of the Set.

public Set getAddressSet() {

System.out.println("Set Elements :" + addressSet);

return addressSet;

}

// a setter method to set Map

public void setAddressMap(Map addressMap) {

this.addressMap = addressMap;

}

// prints and returns all the elements of the Map.

public Map getAddressMap() {

System.out.println("Map Elements :" + addressMap);

return addressMap;

}

// a setter method to set Property

public void setAddressProp(Properties addressProp) {

this.addressProp = addressProp;

}

// prints and returns all the elements of the Property.

public Properties getAddressProp() {

System.out.println("Property Elements :" + addressProp);

return addressProp;

}

}

以下是MainApp.java文件的内容-

package com.breakyizhan;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainApp {

public static void main(String[] args) {

ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");

JavaCollection jc=(JavaCollection)context.getBean("javaCollection");

jc.getAddressList();

jc.getAddressSet();

jc.getAddressMap();

jc.getAddressProp();

}

}

以下是配置文件Beans.xml,它具有所有类型集合的配置 -

INDIA

Pakistan

USA

USA

INDIA

Pakistan

USA

USA

INDIA

INDIA

Pakistan

USA

USA

一旦完成创建源和bean配置文件,让我们运行该应用程序。如果你的应用程序一切正常,它会打印下面的消息 -

List Elements :[INDIA, Pakistan, USA, USA]

Set Elements :[INDIA, Pakistan, USA]

ap Elements :{1 = INDIA, 2 = Pakistan, 3 = USA, 4 = USA}

Property Elements :{two = Pakistan, one = INDIA, three = USA, four = USA}

注入Bean引用

以下Bean定义将帮助您了解如何将bean引用注入为集合元素之一。即使您可以将引用和值全部混合在一起,如以下代码片段所示 -

Pakistan

Pakistan

要使用上面的bean定义,你需要定义你的setter方法,以便它们也能够处理引用。

注入空和空字符串值

如果你需要传递一个空字符串作为值,那么你可以通过它如下 -

前面的示例等同于Java代码:exampleBean.setEmail(“”)

如果你需要传递一个NULL值,那么你可以通过它如下 -

前面的示例等同于Java代码:exampleBean.setEmail(null)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值