Spring的基础使用二
Setter注入
<bean id="studentTwo" class="com.wfy.pojo.Student">
<property name="sid" value="1001"></property>
<property name="name" value="任凌飞"></property>
<property name="gender" value="男"></property>
<property name="age" value="20"></property>
</bean>
Setter注入:
- property: 通过成员变量的set方法进行赋值
- name: 设置需要赋值的属性名(和set、get方法有关,和成员变量名无关)
- value: 设置为属性所赋的值
构造器注入
<bean id="studentThree" class="com.wfy.pojo.Student">
<constructor-arg value="1001"></constructor-arg>
<constructor-arg value="任凌飞"></constructor-arg>
<constructor-arg value="20"></constructor-arg>
<constructor-arg value="男"></constructor-arg>
</bean>
构造器注入:
- constructor-arg:通过有参构造器为属性赋值
- value: 为有参构造器中的各个属性赋值
设置特殊字符
<bean id="studentFive" class="com.wfy.pojo.Student">
<property name="sid" value="1001"></property>
<property name="name" >
<value><![CDATA[<任凌飞>]]></value>
</property>
<property name="gender" value="男"></property>
<property name="age" value="20"></property>
</bean>
"< : <"
" > : > "
CDATA节其中的内容会原样解析
为属性赋值为空标签
<bean id="studentFour" class="com.wfy.pojo.Student">
<property name="sid" value="1001"></property>
<property name="name" value="任凌飞"></property>
<property name="gender">
<null/>
</property>
<property name="age" value="20"></property>
</bean>
通过标签
进行赋空值
@Test
public void DIThree(){
//获取IOC容器
ApplicationContext ioc= new ClassPathXmlApplicationContext("applicationContext.xml");
//获取bean
Student bean = ioc.getBean("studentFour", Student.class);
System.out.println(bean);
}
System.out.println(bean.getGender().toString())
抛出异常:
NullPointerException空指针异常,因此通过设置
标签就可以为属性赋空值
多表引用
一、ref:引用IOC容器中某一个bean的id来为当前的属性赋值
<property name="class" ref="classOne"></property>
<bean id="studentSix" class="com.wfy.pojo.Student">
<property name="sid" value="1001"></property>
<property name="name" value="任凌飞"></property>
<property name="age" value="20"></property>
<property name="gender" value="男"></property>
<property name="cla" ref="classOne"></property>
</bean>
<bean id="classOne" class="com.wfy.pojo.Class">
<property name="cid" value="1"></property>
<property name="cname" value="宏志班"></property>
</bean>
二、通过级联的方式,要保证提前为class属性赋值或者实例化
<property name="class.cid" value="1001"></property>
三、通过内部Bean进行设置
<bean id="studentSix" class="com.wfy.pojo.Student">
<property name="sid" value="1001"></property>
<property name="name" value="任凌飞"></property>
<property name="age" value="20"></property>
<property name="gender" value="男"></property>
<property name="cla">
<bean id="claInner" class="com.wfy.pojo.Class">
<property name="cid" value="1001"></property>
<property name="cname" value="宏志班"></property>
</bean>
</property>
标签:Spring,基础,bean,设置,使用,属性,IOC,赋值 From: https://www.cnblogs.com/wfy-studying/p/16822413.html注意:内部bean,只能在当前bean的内部使用,不能直接通过IOC容器获取