maven项目低模块如何引用高模块的方法

来源:互联网 发布:linux codeblocks使用 编辑:程序博客网 时间:2024/05/29 15:16

假如项目中有两个模块,A依赖B,则我们说A是高模块,B是低模块,同时A中有个类叫做Caculate,方法叫getTotal()


问题:疑问B模块怎么用到A中的这个方法呢?

方案1:在B模块添加对A的依赖是否可行呢?

分析:不可行的,因为A依赖了B,B依赖了A

在加载A时需要先加载B,而加载B的前提又是加载A,这样启动时就会出错了!

方案2:把A的代码拷贝到B中?

分析:假如把方法拷贝过去,一般也要牵涉到其他的一些类什么的都要拷贝过去,这样做不仅

繁琐,更是给后期维护带了了很大的麻烦,所以并不合适!

方案3:接口

在B中添加个接口,不妨命名为CaculateInterface

此时B中的某个类如何要引用的话,就可以这么写

CaculateInterface caculate来引用,注意后面的是cac ulate,因为这个要和实现类名称保证一样,才能对应到实现,其实实质是要

set方法对应上,才能保证注入相应的实现

这里还要说明,在spring的大容器中注入的实例没有高低之分

0 0
原创粉丝点击