spring--(5)集合属性

1.集合属性list的用法
有两个类
//person类java

public class Person {
	private String name;
	private int age;
	private List<Car> cars;
}

//car类mysql

public class Car {
	private String name;
	private String address;
	private double price;
}

一我的可能拥有多辆车,配置文件以下spring

<!-- 配置bean -->
	<bean id="car" class="com.test.spring.beans.Car">
		<property name="name" value="audi"></property>
		<property name="address" value="shanghai"></property>
		<!-- <property name="price" value="200"></property> -->
	</bean>
	
	<bean id="car2" class="com.test.spring.beans.Car">
		<property name="name" value="ford"></property>
		<property name="address" value="chengdu"></property>
		<!-- <property name="price" value="15"></property> -->
	</bean>
	
	<!-- 引用bean -->
	<bean id="person" class="com.test.spring.beans.Person">
		<property name="name" value="zhangsan"></property>
		<property name="age" value="30"></property>
		<property name="cars">
			<list>
				<ref bean="car"/>
				<ref bean="car2"/>
			</list>
		</property>
	</bean>

2.集合属性map的用法
有两个类
//person类sql

public class Person {
	private String name;
	private int age;
	private Map<String, Car> cars;
}

//car类数据库

public class Car {
	private String name;
	private String address;
	private double price;
	private List<Car> cars;
}

一我的都多辆车,采用map的key来区分url

<!-- 配置bean -->
	<bean id="car" class="com.test.spring.beans.Car">
		<property name="name" value="audi"></property>
		<property name="address" value="shanghai"></property>
		<!-- <property name="price" value="200"></property> -->
	</bean>
	
	<bean id="car2" class="com.test.spring.beans.Car">
		<property name="name" value="ford"></property>
		<property name="address" value="chengdu"></property>
		<!-- <property name="price" value="15"></property> -->
	</bean>
	
	<!-- 引用bean -->
	<bean id="person" class="com.test.spring.beans.Person">
		<property name="name" value="zhangsan"></property>
		<property name="age" value="30"></property>
		<property name="cars">
			<map>
				<entry key="AA" value-ref="car"></entry>
				<entry key="BB" value-ref="car2"></entry>
			</map>
		</property>
	</bean>

3.集合属性Properties的用法
很明显,Properties属性是用于一些固定的配置信息,例如数据库链接配置信息
//datasource类code

import java.util.Properties;

public class DataSource {
	
	private Properties properties;
}

配置信息xml文件xml

<!-- 配置properties属性值 -->
	<bean id="dataSource" class="com.test.spring.beans.DataSource">
		<property name="properties">
			<props>
				<prop key="username">root</prop>
				<prop key="password">123456</prop>
				<prop key="url">jdbc:mysql://192.168.2.11/test</prop>
				<prop key="driverClass">com.mysql.jdbc.Driver</prop>
			</props>
		</property>
	</bean>

备注:如上的集合都是配置在bean中的,只能被当前bean调用,没法被其余bean公用,以下配置能够公用集合属性class

<bean id="car" class="com.test.spring.beans.Car">
        <property name="name" value="audi"></property>
        <property name="address" value="shanghai"></property>
        <!-- <property name="price" value="200"></property> -->
    </bean>

    <bean id="car2" class="com.test.spring.beans.Car">
        <property name="name" value="ford"></property>
        <property name="address" value="chengdu"></property>
        <!-- <property name="price" value="15"></property> -->
    </bean>

	<!-- 配置独立的集合bean,以供其余的bean引用,须要导入util 命名空间 -->
	<util:list id="cars">
		<ref bean="car"/>
		<ref bean="car2"/>
	</util:list>
	
	<!-- 引用bean -->
    <bean id="person2" class="com.test.spring.beans.Person2">
        <property name="name" value="zhangsan"></property>
        <property name="age" value="30"></property>
        <property name="cars" ref="cars"></property>
    </bean>
相关文章
相关标签/搜索