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>
相關文章
相關標籤/搜索