Spring中bean都是单例模式,程序在运行期间有且仅有一个实例对象
- 通过set get访问器或者构造函数注入bean
案例实现:
(通过构造函数注入bean,在无参构造函数的左边会有一个spring的标识,代表着无参函数已经被spring调用了)
package com.wang.pojo;
public class Emp {
private String empName;
private int empNo;
public Emp() {
}
public Emp(String empName, int empNo) {
this.empName = empName;
this.empNo = empNo;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public int getEmpNo() {
return empNo;
}
public void setEmpNo(int empNo) {
this.empNo = empNo;
}
}
//配置文件里:
<bean id="emp_a" class="com.wang.pojo.Emp">
<property name="empName" value="SMH"/>
<property name="empNo" value="12"></property>
</bean>
2.特殊字符注入bean
(还是采用getset访问器注入)
<bean id="fuHao" class="com.wang.pojo.Test1111">
<property name="specialCharacter1">
<value><![CDATA[P&C]]></value>
</property>
<property name="specialCharacter2" >
<value>P&G</value>
</property>
3.注入对象的两种方式
第一种方式:创建对应的bean 比如emp_a <property name="emp" ref="emp_a"></property> 第二种方式:内部bean <property name="emp"> <bean class="com.wang.pojo.Emp"> <property name="empNo" value="18"></property> <property name="empName" value="WMH"></property> </bean> </property>
4.注入集合
list集合
<property name="list">
<list>
<value>苹果</value>
<value>香蕉</value>
</list>
数组
</property>
<property name="array">
<array>
<value>足球</value>
<value>蓝球</value>
</array>
</property>
set集合
<property name="set">
<set>
<value>王者</value>
<value>荣耀</value>
</set>
</property>
map集合
<property name="map">
<map>
<entry>
<key>
<value>football</value>
</key>
<value>足球</value>
</entry>
<entry>
<key>
<value>basketball</value>
</key>
<value>篮球</value>
</entry>
</map>
</property>
propreties
<property name="properties">
<props>
<prop key="yingXiong">英雄</prop>
<prop key="lianmeng">联盟</prop>
</props>
</property>
注入空串:
<property name="nullValue">
<null/>
</property>