- Spring的依赖注入
- 依赖查找
- 依赖注入
依赖查找
依赖查找是一种在需求之后获取资源的方法。例如, 可以有多种获取资源的方法:
A obj = new AImpl();
这样, 我们可以通过new关键字直接获取资源(A类的实例)。另一种方法是工厂方法:
A obj = A.getA();
这样, 我们通过调用静态工厂方法getA()获得资源(A类的实例)。
或者, 我们可以通过JNDI(Java命名目录接口)获取资源, 如下所示:
Context ctx = new InitialContext();
Context environmentCtx = (Context) ctx.lookup("java:comp/env");
A obj = (A)environmentCtx.lookup("A");
可以有多种获取资源的方式来获取资源。让我们看看这种方法的问题。
依赖查找问题依赖关系查找主要存在两个问题。
- 紧密耦合依赖关系查找方法使代码紧密耦合。如果更改资源, 则需要在代码中进行很多修改。
- 测试不容易这种方法在测试应用程序时会产生很多问题, 尤其是在黑盒测试中。
依赖注入是一种设计模式, 可消除程序的依赖。在这种情况下, 我们提供来自外部源(例如XML文件)的信息。它使我们的代码松散耦合, 并且更易于测试。在这种情况下, 我们将代码编写为:
class Employee{
Address address;
Employee(Address address){
this.address=address;
}
public void setAddress(Address address){
this.address=address;
}}
在这种情况下, Address类的实例由外部资源(例如XML文件)通过构造函数或setter方法提供。
在Spring框架中执行依赖注入的两种方法
Spring框架提供了两种注入依赖项的方法
- 由建设者
- 通过Setter方法
构造函数的依赖注入
让我们看看如何通过构造函数注入依赖项。
通过setter方法进行依赖注入
【Spring的依赖注入是什么(答案都在这里——)】让我们看看如何通过setter方法注入依赖项。
推荐阅读
- Spring IoC容器基本内容介绍
- Myeclipse中的Spring应用示例详解
- Spring教程入门介绍
- 应用出错,本文教您怎样处理explorer.exe应用程序出错
- 无法访问,本文教您怎样处理windows无法访问指定设备路径或文件
- 电脑开机慢,本文教您怎样处理电脑开机慢
- 如何清理c盘空间,本文教您如何清理c盘空间
- 鼠标右键失灵,本文教您鼠标右键失灵该怎样办
- 怎样看电脑型号,本文教您怎样看电脑型号