spring框架为构造方法和全局变量设置参数值

一:为构造方法的参数设置值

首先写两个类:

import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Student {
	private int age;
	private String name;
	private Date birthday;
	private int [] scores;
	private List<String> names;
	private Set<String> id;
	private Map<String, Date> birthdays;
	public Student(int age, String name) {
		this.age = age;
		this.name = name;
	}
	
	public Student(Date birthday) {
		this.birthday = birthday;
		System.out.println(birthday);
	}
	
	public Student(int [] scores) {
		this.scores = scores;
		for (int i : scores) {
			System.out.println(i);
		}
		System.out.println("数组");
	}
	
	public Student(List<String> names) {
		this.names = names;
		for (String string : names) {
			System.out.println(string);
		}
		System.out.println("list集合");
	}
	
	public Student(Set<String> id) {
		this.id = id;
		for (String string : id) {
			System.out.println(string);
		}
		System.out.println("set集合");
	}
	
	public Student(Map<String, Date> birthdays) {
		this.birthdays = birthdays;
		Set<String> set = birthdays.keySet();
		for (String key : set) {
			System.out.println(birthdays.get(key));
		}
	}
	
	@Override
	public String toString() {
		return "Student [age=" + age + ", name=" + name + "]";
	}
	
}
import java.util.Date;
import java.util.List;

public class Fa {
	private List<Date> birs;

	public Fa(List<Date> birs) {
		this.birs = birs;
		for (Date date : birs) {
			System.out.println(date);
		}
	}
	
}

然后在xml配置文件中输入:
1.对于基本数据类型和String类型

<!-- 对于基本数据类型和String类型可以直接用value属性赋值 -->
	<!--  
	<bean class="com.jd.vo.Student">
		<constructor-arg name="name" value="tom"></constructor-arg>
		<constructor-arg name="age" value="12"></constructor-arg>
	</bean>-->

2.引用数据类型赋值用ref属性

	<bean class="java.util.Date" id="date"></bean>
	<bean class="com.jd.vo.Student">
		<constructor-arg name="birthday" ref="date"></constructor-arg>
	</bean>
  1. 数组使用array子标签设置元素值
<bean class="com.jd.vo.Student">
		<constructor-arg name="scores" >
			<array>
				<value>99</value>
				<value>89</value>
			</array>
		</constructor-arg>
</bean>

4.list集合用list子标签设置值

<bean class="com.jd.vo.Student">
		<constructor-arg name="names" >
			<list>
				<value>li</value>
				<value>wang</value>
			</list>
		</constructor-arg>
</bean>

5.set集合用set子标签设置值

<bean class="com.jd.vo.Student">
		<constructor-arg name="id" >
			<set>
				<value>1234</value>
				<value>7896</value>
			</set>
		</constructor-arg>
</bean>

6.如果数组,list set 存的是基本数据类型或String,则使用value标签。若是引用数据类型,用ref标签或者bean标签

<bean class="com.jd.vo.Fa">
		<constructor-arg name="birs" >
			<list>
				<bean class="java.util.Date"></bean>
				<ref bean="date"/>
			</list>
		</constructor-arg>
</bean>

7.如果map集合的key或value是基本数据类型或String类型,则用key或value标签属性。若是引用数据类型,应该用key-ref,value-ref标签属性

<bean class="com.jd.vo.Student">
		<constructor-arg name="birthdays" >
			<map>
				<entry key="li" value-ref="date"></entry>
				<entry key="i" value-ref="date"></entry>
			</map>
		</constructor-arg>
</bean>

二:为类中的全局变量设置值:此过程几乎与设置构造方法的参数默认值的过程一致

<!--为基本数据类型,String类型,以及引用类型赋值-->
<bean class="java.util.Date" id="date"></bean>

<bean class="com.jd.vo.Student">
    	<property name="age" value="12"></property>
    	<property name="name" value="li"></property>
    	<property name="birthDay" ref="date"></property>
</bean>
发布了74 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/naruhina/article/details/90139442
今日推荐