Spring 类是否可以在DI下的接口之外拥有自己的方法?

Spring 类是否可以在DI下的接口之外拥有自己的方法?,spring,dependency-injection,interface,Spring,Dependency Injection,Interface,我一直在读关于DI和Spring中一些对象的自动连接的书,遇到了这种情况——类A和类B实现接口I。类C获得类型I的自动连接依赖项——即A或B的对象。接口I有方法m1和m2,由A和B实现——C现在可以调用它们。如果A有自己的方法m3,B有自己的方法m4,会怎么样?m3和m4不是I的一部分。我不能允许C调用这些。有解决办法吗?如果没有,是否有一个设计原则与此相反 谢谢由于没有示例代码,我不确定是否理解该问题。以下是我所理解的答案。我不认为您可以调用通过接口注入对象的实例的方法,除非该方法在合同中。它

我一直在读关于DI和Spring中一些对象的自动连接的书,遇到了这种情况——类A和类B实现接口I。类C获得类型I的自动连接依赖项——即A或B的对象。接口I有方法m1和m2,由A和B实现——C现在可以调用它们。如果A有自己的方法m3,B有自己的方法m4,会怎么样?m3和m4不是I的一部分。我不能允许C调用这些。有解决办法吗?如果没有,是否有一个设计原则与此相反


谢谢

由于没有示例代码,我不确定是否理解该问题。以下是我所理解的答案。我不认为您可以调用通过接口注入对象的实例的方法,除非该方法在合同中。它超越了使用接口的全部目的。您只能使用接口中定义的内容。如果实现该接口的类有其他方法,那么我唯一能想到的调用它们的方法就是通过一些反射魔法。但是,这与模式和最佳实践背道而驰。

我不确定自己是否理解这个问题,因为没有示例代码。以下是我所理解的答案。我不认为您可以调用通过接口注入对象的实例的方法,除非该方法在合同中。它超越了使用接口的全部目的。您只能使用接口中定义的内容。如果实现该接口的类有其他方法,那么我唯一能想到的调用它们的方法就是通过一些反射魔法。但是,这与模式和最佳实践背道而驰