何为装配
向bean中注入依赖项的过程即为装配,Spring中的装配大体有两种类型,一种就是显示的指定依赖项,另一种是通过一些规则自动的注入依赖项。
具体的讲,显示指定依赖项是直接指定依赖项的名称,非常明显和确定,所以称之为显示装配
。而根据规则自动注入依赖项,是指由Spring容器自动的将符合指定类型或指定名称的依赖项注入到bean的属性中,这种装配称为自动装配
。
显而易见的是,由于自动装配无须显示指定依赖项,所以更加的简单快速,目前应用的也是越来越多。
由于装配非常的重要,涵盖的内容也是Spring的核心技巧,所以本篇我们先介绍下如何在xml配置中进行显示、自动装配。
显示装配实例
显示装配就是显示出来,让大家看到,明明白白的指定要装配的依赖项,此处举个实例。既然大过年的,我们就搞个晚会,过年要开开心心的,我们把唱歌跳舞的都请过来。
package org.maoge.xmlassemble;
//歌手类
public class Singer {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package org.maoge.xmlassemble;
//舞者类
public class Dancer {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
歌手唱歌、舞者跳舞都得需要一个舞台啊,我们来一个舞台类,这个舞台可以容纳歌手和舞者表演。
package org.maoge.xmlassemble;
//舞台类
public class Stage {
//歌手
private Singer singer;
//舞者
private Dancer dancer;
public Singer getSinger() {
return singer;
}
public void setSinger(Singer singer) {
this.singer = singer;
}
public Dancer getDancer() {
return dancer;
}
public void setDancer(Dancer dancer) {
this.dancer = dancer;
}
}
然后我们通过xml配置文件,显示指定要装配的bean对象,歌手的话我们请刀郎吧,那个歌真是唱出了西北的苍凉,特别喜欢他的《冲动的惩罚》和《喀什噶尔胡杨》,带劲!
舞者我们请刘迦吧,今年真是特别喜欢他,那精气神,太棒了。
OK,看下面的配置中,注意当为state对象的属性singer和dancer注入依赖项时,使用ref显示的指定了bean的id,所以这是非常明确的装配,所以叫显示装配。
<?xml version="1.0" encoding="UTF-8"?><!-- spring.xml文件 -->
<beans xmlns="http://www.springframework.org/schema/beans"
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 id="daolang" class="org.maoge.xmlassemble.Singer">
<!-- 直接将"刀郎"注入到name属性 --</