Spring学习第二天
一、Bean注入空值和特殊符号
1)注入空值:
<null></null>
- 在property中设置
<property name="date" <null></null> ></property>
- 在constructor中设置
<constructor-arg name="birth"><null></null></constructor-arg>
注:属性的类型是String可以使用null
2)特殊符号:
<property name="gender" value="<<广陵>>"></property> <<广陵>>
的书名号会与<property 的右尖括号相配,导致报错。
解决方法
1.转义 :
<property name="gender" value="<>广陵>>"></property>
2.CDATA方法:
<property name="gender"><value><![CDATA[<<约克镇>>]]></value></property>
二、注入外部bean
在引入外部类时,需要在内部类对外部类要用到的属性进行创建。
public class Empt {
private String ename;
private String gender;
private Dept dept;//外部引入属性
ref 值注入:
`<bean id="userDaopl" class="com.itheima.UserDaopl"></bean>
<bean id="userService" class="com.itheima.Service.impl.UserServiceimpl">
<property name="userDao" ref="userDaopl"></property>
</bean>`
ref="userDaopl"用于将userDaopl中的属性引入userService中使用,并且ref 引入名称必须与被引入的类id相同。
三、内部注入与级联
1)内部注入赋值
> <property name="dept">
> <bean id="Dept" class="com.wei.parctice.inside.Dept">
> <property name="dname" value="police"></property>
> </bean>
> </property>`
将userDaopl中的属性用内部注入的方法引入userService中,在property 的value位置写入外部类的bean再对要引入的属性赋值。
2)级联赋值
法1.与ref外部注入相同。
<bean id="userDaopl" class="com.itheima.UserDaopl">
<property name="userDao" value="ajlk"></property>
</bean>
<bean id="userService" class="com.itheima.Service.impl.UserServiceimpl">
<property name="userDao" ref="userDaopl"></property>
</bean>
法2.
<property name="dept" ref="Dept"></property>
<property name="dept.dname" value="elis"></property>`
与外部类建立ref后,直接在设置属性name时调用该属性(dept.danme),并进行value赋值.。需要注意:在内部类中建立引入属性的get方法。
对一些名称叫法可能有误,大家可以帮我指出。