java injector_java – Injector Hierarchy / Child Injector解释?「建议收藏」

java injector_java – Injector Hierarchy / Child Injector解释?「建议收藏」Modules.override()在Stage.PRODUCTION中不起作用.您应该使用PrivateModule,其中绑定仅在私有模块内有效/可见,因此您可以将不同的实现类绑定到同一个接口.然后,您可以将Private模块安装到父模块,但是您必须显式公开()您希望其他模块可见的所有绑定.让我们说:DatabaseSearchModule.java(扩展PrivateModule)bind(P…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

Modules.override()在Stage.PRODUCTION中不起作用.您应该使用PrivateModule,其中绑定仅在私有模块内有效/可见,因此您可以将不同的实现类绑定到同一个接口.然后,您可以将Private模块安装到父模块,但是您必须显式公开()您希望其他模块可见的所有绑定.

让我们说:

DatabaseSearchModule.java(扩展PrivateModule)

bind(PlaceSearch.class).annotatedWith(Names.named(“dbSearch”)).to(HibernatePlaceSearch.class);

bind(PersonSearch.class).to(HibernatePersonSearch.class);

expose(PlaceSearch.class).annotatedWith(Names.named(“dbSearch”));

EleasticSearchModule.java(扩展PrivateModule)

bind(PersonSearch.class).annotatedWith(Names.named(“elastic”)).to(PersonElasticSearch.class);

expose(PersonSearch.class).annotatedWith(Names.named(“elastic”));

那么你可以在一些父抽象或servlet模块中安装它

MainModule.java

install(new DatabaseSearchModule());

install(new EleasticSearchModule());

bind(OtherClass.class);

OtherClass.java

@Inject @Named(“elastic”)

private PlaceSearch elasticSearch;

@Inject @Named(“dbSearch”)

private PlaceSearch dbSearch;

您可以使用命名注释,也可以创建非常优雅的自己绑定Annotation.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230949.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库拉链表详解_拉链表断链

    数据库拉链表详解_拉链表断链一、前言在上一节简单介绍了拉链表,本节主要讲解如何通过binlog采集MySQL的数据并且按月分区的方式实现拉链表。这里以上节介绍的用户表(user)举例二、涉及到的表1.原始表(user)原始表指的是MySQL中的表,表结构如下:其中name为主键,如果没有主键则无法做拉链表。2.binlog流水表(user_binlog)操作类型字段枚举值为:insert、update、delete。设…

    2022年10月17日
    3
  • rammap使用_查看内存的命令

    rammap使用_查看内存的命令参考TechnetProcessPrivate:分配给单一Process专用的内存MappedFile:用来储放档案内容快取(Cache)的内存空间SharedMemory:标注给多个Process共用的内存分页(Page,内存管理单位)PageTable:用来描述虚拟内存位址的分页表(裡面是一笔一笔的PTE,PageTableEntries)PagedPool…

    2025年8月10日
    3
  • emwin教程_emwin教程

    emwin教程_emwin教程1.位图显示(1)BmpCvt[位图转换器]作用将位图从PC格式转换为C文件,emwin可使用的位图在C文件中定义为GUI_BITMAP结构体。注:如果图片要转化为bmp格式,可以用画图软件,像素大小要合适设置如下:…

    2022年10月14日
    0
  • Python – __name__==’__main__’是干啥的,以及python -m与python的区别

    Python – __name__==’__main__’是干啥的,以及python -m与python的区别转自牛人: https://www.cnblogs.com/ddzj01/p/10919210.html1.__name__=='__main__'是干啥的先看例子,准

    2022年7月5日
    32
  • stm32驱动w25q程序(m127m128驱动不支持xp)

    1、W25Q128是华邦公司推出的一款SPI接口的NORFlash芯片,其存储空间为128Mbit,相当于16M字节。W25Q128可以支持SPI的模式0和模式3,也就是CPOL=0/CPHA=0和CPOL=1/CPHA=1这两种模式。2、写入数据时,需要注意以下两个重要问题:①、Flash写入数据时和EEPROM类似,不能跨页写入,一次最多写入一页,W25Q128的一页是256字节。写入数据一旦跨页,必须在…

    2022年4月11日
    129
  • scrapy+xpath爬取不可描述网站[通俗易懂]

    scrapy+xpath爬取不可描述网站[通俗易懂]今天来爬一个让人很有动力的网站,网址就不便放上来了,看看有没有有缘人能得知了还是先来items.pyimportscrapyclassAvmooItem(scrapy.Item):#definethefieldsforyouritemherelike:#name=scrapy.Field()name=scrapy.Field()

    2022年6月14日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号