Spring实战 (第3版)——依赖注入

  首先弄明白几个概念:

  1、什么是POJO

  2、JavaBean规范

  3、EJB(Enterprise JavaBean)

  体会Spring如何简化Java开发。

  创建应用对象(组件)之间协作关系的行为通常称为装配,这也是依赖注入的本质。

  依赖注入让相互协作的软件组件保持松散耦合,而AOP编程允许你把遍布应用各处的功能分离出来形成可重用的组件。

面向切面编程往往被定义为促使应用程序分离关注点的一项技术。

  依赖注入的真正价值在于把相互协作的对象装配在一起,而不需要这些对象自己负责装配。

如果一个对象只通过接口(而不是具体实现或初始化的过程)来表明依赖关系,那么这种依赖就能够在对象本身毫不知情

的情况下,用不同的具体实现进行替换。对依赖进行替换的最常用的方法之一,就是在测试的时候使用mock实现。

  1、依赖注入的方式之一是构造器注入。(所谓的依赖注入就是以参数的形式把一个类传递到另一个类中)

// 通过构造器注入对象引用
public
class A { private B b; public A(B b) { this.b=b; //B被注入进来 如果B是一个接口,将更具有灵活性 }
}

2、属性注入(POJO类)

public class A
{  
   private int No;
   private B b;
   public int getNo() {
        return No;
    }

    public void setNo(int no) {
        No = no;  // 注入简单值 No
    }

    public B getB() {
        return b;
    }

    public void setB(B b) {
        this.b = b;    // 注入自定义类型B
    }

}

 Spring提倡面向接口编程,面向接口编程与依赖注入协作实现了松散耦合。

  Spring是使用反射来创建Bean的。

Spring的单例Bean只能保证在每个应用上下文中只有一个Bean的实例。真正的单例,在每个类加载器中保证只有一个实例。

原文地址:https://www.cnblogs.com/heyesp/p/4546808.html