spring依赖注入

spring有两大特点:依赖注入和切面(AOP)编程。

以下用代码说明什么是依赖注入。

首先看以下这个类,铅笔可以被学生用,Student和Pencil紧耦合。

package myProject;

public class Pencil extends Pen{
    private Student student;
    public void setStudent() {
        this.student=new Student();//Student和Pencil紧耦合
    }
}

但是,通过依赖注入,对象中的依赖关系将由系统中的第三方组件在创建对象的时候设定。对象无需自己创建或者管理依赖关系。再看以下代码。

package myProject;

public class Pencil extends Pen{
    private Person person;
    public void setStudent(Person person) {//person被注入进来
        this.person=person;
    }
}

上边的代码,在构造的时候注入进来,即依赖注入的方式之一:构造器注入。而且注入的对象可以是任意实现了Person接口的类。

那么,我们该怎么把Person类注入到Pencil中呢,也即装配。xml即是一种常用的装配方式。

<bean id ="pencil" class="myProject.Pencil">
    <constructor-arg ref="student"/>
</bean>
<bean id ="student" class="myProject.Student">
</bean>

以上就是依赖注入的例子。

 

posted @ 2018-07-10 22:18  第二人生Bonnie  阅读(126)  评论(0编辑  收藏  举报