自定义了一个接口,其他人去实现,怎么去找相关的实现类

sprouting 发布于 06/07 11:11
阅读 153
收藏 0

开源软件供应链点亮计划,等你来!>>>

问题是这样的,微服务项目,多个模块,我在公共模块,注意,这个公共模块就是一个单纯的jar,放一些工具类和公共类,我现在在这里定义了一个接口,我希望引入我这个公共模块的人,实现这个接口,在这个公共的jar的另外一个工具类方法中,会调用这个类,然后再就调用实现类,获取我要的数据。

工具类-  调用这个接口  - 调用实现类 -- 返回数据

看到这个地方的时候,我想到的第一个是给一个默认实现,调用者覆盖我这个默认实现,或者使用  @ConditionalOnMissingBean  这个注解,当没有其他实现,我这个默认实现就生效,但后面想了下,不希望我这个工具类中有太多的无关依赖,因为这个实现需要操作redis或数据库,所以就给了一个接口,工具类调用这个接口的时候去找实现类。

我现在的实现方式,是工具类中通过spring上下文,找这个接口实现类,

代码如下,

还有没更好的方式呢?

加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部