1,使用Set()方法进行注入
(1)创建类,定义属性和属性对应set()方法。
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
?(2)在XML文件中配置需要创建的对象,还有完成属性注入。
?
<bean id="user" class="com.User">
<property name="name" value="Joah"></property>
</bean>
?
2,使用有参构造函数进行属性注入
(1)创建类,定义属性和属性对应参数构造函数。
public class User {
private String name;
public User(String name) {
this.name = name;
}
}
?(2)在XML文件中配置需要创建的对象,还有完成属性注入。
?
<bean id="user" class="com.User">
<constructor-arg name="name" value="hhhh"></constructor-arg>
</bean>
?
3,p名称空间注入
(1)在xml配置文件头部添加p名称空间
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
(2)在bean标签里面进行属性注入
<bean id="user" class="com.User" p:name="harden"></bean>
4,xml注入其他类型属性
? ?4.1,字面量
(1)属性值为空值的注入方法
<bean id="user" class="com.User" >
<property name="name">
<null></null>
</property>
</bean>
?(2)属性值包含特殊符号
<bean id="user" class="com.User" >
<property name="name" >
<value><![CDATA[<<张三>>]]</value>
</property>
</bean>
? 4.2,外部bean注入方式
? ?(1)有UserService类和UserDao类
? ?(2)UserService类里面包含属性 UserDao类
public class UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
public class UserDao {
public void update();
}
(3)在xml进行文件配置
<bean id="userService" class="com.service.UserService">
<!--注入userDao对象
name属性:类里面属性名称
ref属性:创建userDao对象bean标签id值
-->
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="userDao" class="com.dao.UserDao"></bean>
? 4.3,内部bean注入方式
(1)部门和员工(一对多关系)
public class Dept {
private String dname;
public void setDname(String dname) {
this.dname = dname;
}
@Override
public String toString() {
return "Dept{" +
"dname='" + dname + '\'' +
'}';
}
}
public class Emp {
private String ename;
private String gender;
private Dept dept;
public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
public void setEname(String ename) {
this.ename = ename;
}
public void setGender(String gender) {
this.gender = gender;
}
public void add() {
System.out.println(ename+"::"+gender+"::"+dept);
}
}
(2)在xml文件中配置
<bean id="emp" class="com.bean.Emp">
<property name="ename" value="李四"></property>
<property name="gender" value="女"></property>
<property name="dept">
<bean id="dept" class="com.bean.Dept">
<property name="dname" value="宣传部"></property>
</bean>
</property>
</bean>
4.4,级联属性赋值
<bean id="emp" class="com.bean.Emp">
<property name="ename" value="王五"></property>
<property name="gender" value="男"></property>
<property name="dept" ref="dept"></property>
</bean>
<bean id="dept" class="com.bean.Dept">
<property name="dname" value="财务部"></property>
</bean>