前言: Java依赖注入是什么意思?IT培训网小编来告诉大家。 什么是依赖注入? 依赖注入 (DI) 是对象从外部获取其他所需对象
Java依赖注入是什么意思?IT培训网小编来告诉大家。
依赖注入 (DI) 是对象从外部获取其他所需对象的概念。
DI 可以用任何编程语言实现。依赖注入背后的一般概念称为控制反转。
如果 Java 类使用此类的实例,则它依赖于另一个类。我们称之为类依赖。例如,访问记录器服务的类依赖于该服务类。
理想情况下,Java 类应该尽可能独立于其他 Java 类。这增加了重用这些类的可能性,并且能够独立于其他类来测试它们。
如果 Java 类通过new运算符创建另一个类的实例,则不能独立于该类使用(和测试)它,这称为硬依赖。下面的例子展示了一个没有硬依赖的类。
package com.vogella.tasks.ui.parts;
import java.util.logging.Logger;
public class MyClass {
private Logger logger;
public MyClass(Logger logger) {
this.logger = logger;
// write an info log message
logger.info("This is a log message.")
}
}
一个框架类,通常称为依赖容器,可以分析这个类的依赖关系。通过这种分析,它能够创建类的实例并通过 Java 反射将对象注入到定义的依赖项中。
这样 Java 类就没有硬依赖,这意味着它不依赖于某个类的实例。这允许您单独测试您的类,例如使用模拟对象。
模拟对象(模拟)是行为与真实对象相似的对象。但是这些模拟不是编程的;它们被配置为以某种预定义的方式运行。Mock是一个英文单词,意思是模仿或模仿。
如果使用依赖注入,则可以单独测试 Java 类。
存在不同的方法来描述类的依赖关系。最常见的方法是使用Java注解直接在类中描述依赖关系。
Java Specification Request 330 (JSR330) 中定义了用于描述类依赖关系的标准 Java 注释。本规范描述了@Inject和@Named注释。
以下清单显示了一个使用注释来描述其依赖关系的类。
// import statements left out
public class MyPart {
@Inject private Logger logger;
// inject class for database access
@Inject private DatabaseAccessClass dao;
@Inject
public void createControls(Composite parent) {
logger.info("UI will start to build");
Label label = new Label(parent, SWT.NONE);
label.setText("Eclipse 4");
Text text = new Text(parent, SWT.NONE);
text.setText(dao.getNumber());
}
}
文章出自:http://qh.itpxw.cn/peixun/software/2022123844.html
文章标题:Java依赖注入的意思
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...