1.p命名:
P命名空间 装配属性
使用<property> 元素为Bean 的属性装配值和引用并不太复杂。尽管如此,Spring 的命名空间p 提供了另一种Bean 属性的装配方式,该方式不需要配置如此多的尖括号。
命名空间p 的schema URI 为http://www.springframework.org/schema/p。如果你想使用命名空间p,只需要在Spring 的XML 配置中增加如下一段声明: 元素所有属性的前缀来装配Bean 的属性。为了示范,我们重新声明了grade Bean 的配置:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--配置年级对应的bean--> <bean id="grade" class="cn.bdqn.bean.Grade"> <!--01.设置注入(推荐使用,便于阅读)在对应的类中必须有set方法, 因为底层执行反射机制查阅类中的setXxx()--> <property name="gradeId" value="1"/> <property name="name" value="一年级"/> </bean> <!-- 配置 学生对应的bean 02.p命名空间赋值 <bean id="student" class="cn.bdqn.bean.Student" p:age="18" p:name="小明" p:grade-ref="grade"> </bean>--> <!-- 03.通过构造方法给属性赋值, 前提是 必须有对应的构造方法 不需要set() <bean id="student" class="cn.bdqn.bean.Student"> 001:使用参数的下标从0开始 <constructor-arg index="0" value="小花"/> <constructor-arg index="1" value="19"/> <constructor-arg index="2" ref="grade"/> 002:使用参数的属性名成 <constructor-arg name="name" value="小白"/> <constructor-arg name="age" value="20"/> <constructor-arg name="grade" ref="grade"/> 003:使用参数的默认顺序 <constructor-arg value="heiheihei"/> <constructor-arg value="19"/> <constructor-arg ref="grade"/> </bean>--> <!--04.通过c命名空间(构造方法)给属性赋值 前提是必须有构造方法--> <bean id="student" class="cn.bdqn.bean.Student" c:_0="小妞" c:_1="25" c:grade-ref="grade"> </bean> </beans>