我正在构建一个组件,可以执行一些税额计算。我已经创建了两个Maven模块tax-utility-api
和tax-utility-impl
。
tax-utility-api
包含组件的接口
public int getTaxableIncome(int income);
和tax-utility-impl
包含实际的实现方式
public int getTaxableIncome(int income){
//一些代码
}
我之所以将接口和实现划分为不同的JAR,是为了使其他组件仅依靠api
(合约)JAR来在其末尾开发代码。并且impl
JAR仅在运行时才需要。
但是,当我尝试创建依赖于该组件api
JAR的测试组件时,我意识到我无法使用这些函数,因为它们是接口,而不是具体方法。因此,可以依靠impl
来使用组件的功能。
这让我感到困惑,我有两个问题:
api
JAR中的接口,我需要像Spring这样的DI框架吗?感谢阅读。