起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > 编程语言 > Java依赖注入的意思

Java依赖注入的意思

时间:2022-08-14 14:44:13来源:零基础学Java 作者:Java学习网 已有: 名学员访问该课程

  快捷搜索:java依赖注入

前言: 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依赖注入的意思



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

你也许会喜欢如下的文章?
(责任编辑:深圳学历教育网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话:13783581536 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件: 网站域名:http://www.itpxw.cn 注册时间:2016-07-18 11:07 最后登录:2024-02-20 13:02
推荐内容