学习Spring(配置bean属性之集合属性)

    前面写到了bean的级联属性,所以现在来写写集合属性,这的第二天的学习就基本结束了,想了解的朋友可以打开全类名的bean配置及属性

级联属性

  1.使用<list>  标签

   由于是按前一章的基础写的,所以有什么配置问题,请自行查阅,这里就重头开始。

   1)首先修改Car.java中的person变量

package com.spring.day2;

import java.util.List;

public class Car {
	private String brand;//牌子
	private String number;//牌号
	private List<Person> persons;//修改这里         
	public String getBrand() {
		return brand;
	}
	public void setBrand(String brand) {
		this.brand = brand;
	}
	public String getNumber() {
		return number;
	}
	public void setNumber(String number) {
		this.number = number;
	}

	public List<Person> getPersons() {
		return persons;
	}
	public void setPersons(List<Person> persons) {
		this.persons = persons;
	}
	
	public Car(String brand, String number, List<Person> persons) {
		super();
		this.brand = brand;
		this.number = number;
		this.persons = persons;
	}
	public Car() {
		super();
	}
	@Override
	public String toString() {
		return "Car [brand=" + brand + ", number=" + number + ", persons=" + persons + "]";
	}
	
}

 2)接下里就是修改application.xml文件了。在property标签内写入list标签。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
	
	<bean id="person" class="com.spring.day2.Person">
		<constructor-arg value="男" index="2" type="java.lang.String"></constructor-arg>
		<constructor-arg index="0">
			<value><![CDATA[<haha+>]]></value>
		</constructor-arg>
		<constructor-arg type="java.lang.Integer">
			<value><![CDATA[13]]></value>
		</constructor-arg>
	</bean>


	<bean id="car" class="com.spring.day2.Car">
		<property name="brand" value="Audio"></property>
		<property name="number" value="粤G98K13"></property>
		<property name="persons">
			<list>
				<ref bean="person"/>
				<bean class="com.spring.day2.Person">
					<property name="name" value="yaya"></property>
					<property name="sex" value="男"></property>
					<property name="age" value="100"></property>
				</bean>
			</list>
		</property>
	</bean>
</beans>

结果显示:

Person [name=<haha+>, age=13, sex=男]
Car [brand=Audio, number=粤G98K13, persons=[Person [name=<haha+>, age=13, sex=男], Person [name=yaya, age=100, sex=男]]]

2.使用<map> 标签定义

1)首先还是Car.java操作基本一样的。还是要改persons。

package com.spring.day2;

import java.util.List;
import java.util.Map;

public class Car {
	private String brand;//牌子
	private String number;//牌号
	private Map<String, Person> persons;//修改这里       
	public String getBrand() {
		return brand;
	}
	public void setBrand(String brand) {
		this.brand = brand;
	}
	public String getNumber() {
		return number;
	}
	public void setNumber(String number) {
		this.number = number;
	}
	public Car(String brand, String number, Map<String, Person> persons) {
		super();
		this.brand = brand;
		this.number = number;
		this.persons = persons;
	}
	public Map<String, Person> getPersons() {
		return persons;
	}
	public void setPersons(Map<String, Person> persons) {
		this.persons = persons;
	}
	public Car() {
		super();
	}
	@Override
	public String toString() {
		return "Car [brand=" + brand + ", number=" + number + ", persons=" + persons + "]";
	}
}

2)接着修改application.xml,使用<map>标签,运行结果是跟上面的结果是一样的。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
	
	<bean id="person" class="com.spring.day2.Person">
		<constructor-arg value="男" index="2" type="java.lang.String"></constructor-arg>
		<constructor-arg index="0">
			<value><![CDATA[<haha+>]]></value>
		</constructor-arg>
		<constructor-arg type="java.lang.Integer">
			<value><![CDATA[13]]></value>
		</constructor-arg>
	</bean>


	<bean id="car" class="com.spring.day2.Car">
		<property name="brand" value="Audio"></property>
		<property name="number" value="粤G98K13"></property>
		<property name="persons">
			<map>
				<entry key="AA" value-ref="person"></entry>
				<entry key="BB">				
					<bean class="com.spring.day2.Person">
						<property name="name" value="yaya"></property>
						<property name="sex" value="男"></property>
						<property name="age" value="100"></property>
					</bean>
				</entry>
			</map>
		</property>
	</bean>
</beans>

行了基本就这些了,内容还有很多的是写不完的,所以还是需要自己去发现。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值