gpt4 book ai didi

java - 动态解决 API 的实现

转载 作者:太空宇宙 更新时间:2023-11-04 08:05:06 27 4
gpt4 key购买 nike

我们有一个系统,我们希望在单独的 jar 中使用接口(interface)的实现。该场景是客户使用我们的工作并提供自己的实现来覆盖默认实现。

问题是将实际实现类绑定(bind)/连接到我们的系统中的最佳方法是什么?

一种方法是让 spring 连接依赖项。目前这不是一个选项,因为并非所有客户端都使用 spring。

研究了一些选项,例如使用反射解析接口(interface)实现类。对此解决方案不太满意。

另一个好的旧选项是在其中一个属性中配置类名并让客户端配置它。看上去不错。

但想找到一些优雅的选择(如果有的话)。

还知道 SLF4J/EL 如何自动解决其实现吗?

最佳答案

我建议您使用SPI (Service Provider Interface) 。它需要创建枚举特定服务的所有可用实现的文件。这可能很烦人。幸运的是,您可以使用这个开源库来为您完成这项工作:http://code.google.com/p/spi/

关于java - 动态解决 API 的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12200592/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com