美文网首页CWIKIUS
TestNG 中使用 Guice 来进行依赖注入

TestNG 中使用 Guice 来进行依赖注入

作者: HoneyMoose | 来源:发表于2023-05-09 05:46 被阅读0次

Guice是Google开发的一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC)。

Guice非常小而且快。Guice是类型安全的,它能够对构造函数,属性,方法(包含任意个参数的任意方法,而不仅仅是setter方法)进行注入。

Guice采用Java加注解的方式进行托管对象的配置,充分利用IDE编译器的类型安全检查功能和自动重构功能,使得配置的更改也是类型安全的。

Guice提供模块对应的抽象module,使得架构和设计的模块概念产物与代码中的module类一一对应,更加便利的组织和梳理模块依赖关系,利于整体应用内部的依赖关系维护,而其他IOC框架是没有对应物的。

此外,借助privateModule的功能,可以实现模块接口的明确导出和实现封装,使得支持多数据源这类需求实现起来异常简单。

定义一个 Guice Module

这个 Guice Model 会实现 Module 接口。

然后对需要注入的类进行绑定。

绑定的语句在这里:

binder.bind(TestConfigStorage.class).toInstance(config);            binder.bind(WeChatOfficialAccountService.class).toInstance(weChatOfficialAccountService);            binder.bind(WeChatMsgService.class).toInstance(weChatMsgService);

测试中使用

因为我们需要在测试中使用,所以我们会使用 testNG 的 Guice 注解。

使用下面的语句直接注入到模块中。

然后把需要的服务,注入进来就可以了。

@InjectprotectedWeChatOfficialAccountService wxService;

是不是非常简单。

相对 Junit 测试框架来说,TestNG 使用 Guice 更加方便。

如何在 Junit 中使用 Guice ,请参考文章:Junit 5 如何使用 Guice DI中的内容。

https://www.ossez.com/t/testng-guice/14396

相关文章

  • Elasticsearch Guice 的使用

    Elasticsearch 源代码中使用了Guice框架进行依赖注入. 为了方便阅读源码对这块的不理解, 此处我先...

  • Guice依赖注入(接口多实现)

    本教程主要详细讲解Guice依赖注入中的特性接口多实现,一般使用到guice的框架的插件机制都是基于该方式实现。 ...

  • Druid源码阅读——Server启动流程

    Druid的代码里面使用了大量的Google Guice依赖注入(DI),还是第一次接触Guice。相比于Spri...

  • Guice 快速入门

    Guice是谷歌推出的一个轻量级依赖注入框架,帮助我们解决Java项目中的依赖注入问题。如果使用过Spring的话...

  • Java Vert.x 集成Guice

    Java Vert.x 集成Guice Guice介绍 Guice是谷歌推出的一个轻量级依赖注入框架,帮助我们解决...

  • 3.Guice轻量级注解Guice简单之美

    Guice[https://github.com/google/guice]是谷歌推出的一个轻量级依赖注入框架,帮...

  • Guice

    「Guice」依赖注入框架中的小清新单例情况下轻量级的DI呗。

  • (十五)TestNG学习之路—依赖注入

    前言 TestNG支持两种不同类型的依赖注入,原生方法(由TestNG本身执行)和扩展方法(由依赖的注入框架执行,...

  • Druid中的依赖注入——Guice

    前言:作为一个大型的开源项目,其设计模式,代码架构和设计理念中必然有值得我们学习和了解的内容。同时作为一个成千上万...

  • Guice依赖注入(一)

    本教程主要详细讲解Guice的一些基本注入方式,通过该简单教程让我们可以快速使用Guice进行简单系统化开发,后续...

网友评论

    本文标题:TestNG 中使用 Guice 来进行依赖注入

    本文链接:https://www.haomeiwen.com/subject/plpejdtx.html