1.1. Spring的数据的赋值
1.1.1. 对于基本数据类型的赋值
<bean id="student" class="com.bjsxt.lc.spring.pojo.AStudent" scope="singleton"> <property name="id" value="01"/> <property name="name"><value>测试</value></property> <property name="price" value="2.2"/> </bean> |
总结:优两种方式:
l 在property的标签里利用value标签
l 在property标签里加入value标签进行赋值
1.1.2. 对于自定义数据类型的赋值
方法一:
<property name="clazz"> <!-- <bean id="clazz" class="com.bjsxt.lc.spring.pojo.AClazz"> <property name="id" value="001"/> <property name="name" value="教室2"/> </bean> --> </property> |
方法二:
<property name="clazz" ref="clazz"/> <bean id="clazz" class="com.bjsxt.lc.spring.pojo.AClazz"> <property name="id" value="001"/> <property name="name" value="教室2"/> </bean> |
总结
l 方法一:更多的是以一种内部类的形式赋值
l 方法二:是做了一个类与类之间的关联
1.1.3. 引用型数据类型的赋值
<!-- 测试list --> <property name="hobbysList"> <list> <value>List测试数据一</value> <value>List测试数据二</value> <value>List测试数据三</value> </list> </property> <!-- 测试set容器 --> <property name="hobbysSet"> <set> <value>set测试数据一</value> <value>set测试数据二</value> <value>set测试数据三</value> </set> </property> <!-- 测试Map容器 --> <property name="hobbysMap"> <map> <entry key="a" value="a_"/> <entry key="b" value="b_"/> <entry key="c" value="c_"/> </map> </property> <!-- 测试数组 --> <property name="hobbys"> <array> <value>测试数据1</value> <value>测试数据2</value> <value>测试数据3</value> </array> </property> <!-- 测试 List里面放对象 不可以在list里面继续放value,然后value里面在bean一个对象 --> <property name="clazzList"> <list> <ref bean="clazz"/> <ref bean="clazz2"/> </list> </property> <!-- properties测试 --> <property name="properties"> <props> <prop key="a1">properties测试数据一</prop> <prop key="a2">properties测试数据2</prop> </props> </property> </bean>
<bean id="clazz" class="com.bjsxt.lc.spring.pojo.AClazz"> <property name="id" value="001"/> <property name="name" value="教室2"/> </bean> <bean id="clazz2" class="com.bjsxt.lc.spring.pojo.AClazz"> <property name="id" value="002"/> <property name="name" value="教室3"/> </bean> |
测试代码:
package com.bjsxt.lc.spring.test;
import java.util.Arrays;
import org.junit.Test;
import com.bjsxt.lc.spring.pojo.AStudent;
public class TestFile extends TestFiledInfo { @Test public void testFile() { AStudent stu = (AStudent) this.applicationContext.getBean("student"); logger.info("----学生id:{},学生姓名:{},学生学费{}===>", stu.getId(), stu.getName(), stu.getPrice()); logger.info("====学生班级信息:{}", stu.getClazz()); //测试list logger.info("----list测试-----》{}", stu.getHobbysList()); // set容器不容许值重复 logger.info("----set测试数据---->{}", stu.getHobbysSet()); // 测试Map容器 logger.info("----map容器测试数据---》{}", stu.getHobbysMap()); // 测试clazz'List logger.info("----clazzList容器测试数据---》{}", stu.getClazzList()); // 测试properties logger.info("----properties容器测试数据---》{}", stu.getProperties()); //数组 logger.info("-----数组测试----》{}",Arrays.toString(stu.getHobbys())); logger.info("-----数组测试----》{}",stu.getHobbys()); } }
|
1.1.4. 构造器赋值
注:构造器赋值,必须在实体类中提供构造器
<bean id="clazz3" class="com.bjsxt.lc.spring.pojo.AClazz"> <!-- <constructor-arg index="0" value="10"/> <constructor-arg index="1" value="张三"/> --> <constructor-arg name="id" value="10"/> <constructor-arg name="name" value="张三"/> </bean> |
测试代码
@Test public void testCons() { AClazz clazz = (AClazz) this.applicationContext.getBean("clazz3"); logger.info("===测试对象==={}",clazz); }
注:测试代码的父类:
{applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");logger.info("---infoSpring--");}}
最后测试结果
[plain] view plain copy
|