在Java 9中是否可以通过模块名称获得服务?

Pavel_K:

让我们考虑情况-有N个模块,并且所有模块都具有相同接口(com.foo.SomeService)的服务。是否可以通过模块名称(my.module获得此服务,而无需迭代所有模块的所有服务?

艾伦·贝特曼(Alan Bateman):

我不知道这是不是一个真正的问题。选择服务提供商的正确方法是探究其功能,这意味着设计一个良好的服务接口,以便消费者有足够的能力来选择适当的实现。

如果这个问题是关于配置某些东西以使用特定的服务提供商的,那么如果您确实需要:通过模块名称进行选择就不难了:

ServiceLoader.load(service).stream()
        .filter(p -> "X".equals(p.type().getModule().getName()))
        .map(Provider::get)
        .findAny();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以通过Jigsaw在Java 9中通过反射访问包范围的方法?

来自分类Java

如何按类在Java中得到9模块的名称?

来自分类Java

如何找到在Java中9+类的模块的名称?

来自分类Java

Java 9中是否可能存在循环模块依赖关系?

来自分类Java

是否有可能在Java中禁用9模块?

来自分类Dev

是否可以不需要Java中的模块?

来自分类Java

jdk9中是否可以替代WindowsLookAndFeel.java

来自分类Java

自动模块可以读取Java 9导出包中命名模块的类吗?

来自分类Dev

是否可以通过简单地调用其名称(不带“ java ..”)来使Java程序可执行?

来自分类Java

如何获得所有模块的程序列表中的Java 9?

来自分类Dev

是否可以通过Java中的代码跟踪smtp主机?

来自分类Java

是否可以通过Java本机模块(反应本机网桥)访问域实例(由javascript代码创建)?

来自分类Java

如何使用Java 9在新创建的层中的模块中调用服务?

来自分类Java

Java 9模块名称中不允许使用哪些字符?

来自分类Java

是否可以并行编译大型Java模块?

来自分类Dev

是否可以使用服务名称在kubernetes中远程调试Java程序

来自分类Dev

是否可以通过Java Azure SDK使用服务主体向CosmosDB进行身份验证?

来自分类Java

是否有可能加载和卸载JDK和自定义模块动态中的Java 9?

来自分类Java

在Java中9“模块本地”访问行为

来自分类Java

在JShell在Java中创建模块9

来自分类Dev

通过 moditect maven 插件在 Java 13 模块中添加 ResourceBundle 服务提供者指令

来自分类Java

在Java中,是否可以清除?

来自分类Java

Java 9错误:不在模块源路径中的模块中

来自分类Java

是否可以通过JAVA命名Android的视图?

来自分类Java

Java JNI-是否可以通过C ++在Java中设置单个原始数组元素

来自分类Java

为什么不工作我Java9模块服务?

来自分类Java

是否可以在具有Java配置的Spring Framework中编写类似Guice的模块?

来自分类Java

在Java 8中,可以使HttpsURLConnection发送服务器名称指示(SNI)

来自分类Dev

带有gradle的java 9模块不起作用:错误:找不到模块:<模块名称>

Related 相关文章

  1. 1

    是否可以通过Jigsaw在Java 9中通过反射访问包范围的方法?

  2. 2

    如何按类在Java中得到9模块的名称?

  3. 3

    如何找到在Java中9+类的模块的名称?

  4. 4

    Java 9中是否可能存在循环模块依赖关系?

  5. 5

    是否有可能在Java中禁用9模块?

  6. 6

    是否可以不需要Java中的模块?

  7. 7

    jdk9中是否可以替代WindowsLookAndFeel.java

  8. 8

    自动模块可以读取Java 9导出包中命名模块的类吗?

  9. 9

    是否可以通过简单地调用其名称(不带“ java ..”)来使Java程序可执行?

  10. 10

    如何获得所有模块的程序列表中的Java 9?

  11. 11

    是否可以通过Java中的代码跟踪smtp主机?

  12. 12

    是否可以通过Java本机模块(反应本机网桥)访问域实例(由javascript代码创建)?

  13. 13

    如何使用Java 9在新创建的层中的模块中调用服务?

  14. 14

    Java 9模块名称中不允许使用哪些字符?

  15. 15

    是否可以并行编译大型Java模块?

  16. 16

    是否可以使用服务名称在kubernetes中远程调试Java程序

  17. 17

    是否可以通过Java Azure SDK使用服务主体向CosmosDB进行身份验证?

  18. 18

    是否有可能加载和卸载JDK和自定义模块动态中的Java 9?

  19. 19

    在Java中9“模块本地”访问行为

  20. 20

    在JShell在Java中创建模块9

  21. 21

    通过 moditect maven 插件在 Java 13 模块中添加 ResourceBundle 服务提供者指令

  22. 22

    在Java中,是否可以清除?

  23. 23

    Java 9错误:不在模块源路径中的模块中

  24. 24

    是否可以通过JAVA命名Android的视图?

  25. 25

    Java JNI-是否可以通过C ++在Java中设置单个原始数组元素

  26. 26

    为什么不工作我Java9模块服务?

  27. 27

    是否可以在具有Java配置的Spring Framework中编写类似Guice的模块?

  28. 28

    在Java 8中,可以使HttpsURLConnection发送服务器名称指示(SNI)

  29. 29

    带有gradle的java 9模块不起作用:错误:找不到模块:<模块名称>

热门标签

归档