为清楚起见,请考虑以下设计 -
Interface MyIface{
myInterfaceContract(someObject);
};
Class Child1 implements MyIface{
myInterfaceContract(someObject){ //implemented }
myChild1Action(){ //implemented }
}
Class Child2 implements MyIface{
myInterfaceContract(someObject){ //implemented }
myChild2Action(){ //implemented }
}
我知道如何通过spring注释实现接口注入。 怀疑是 - 如果完成基于接口的注入,那么如何访问我的子类中直接实现的方法,即myChild1Action()/ myChild2Action()
我在做什么或者在想大错?
答案 0 :(得分:1)
我会说你的想法很混乱。如果您基于接口进行注入,那么这意味着该接口为您提供了所需的所有功能。如果您需要实现中的方法,那么该接口无法满足您的需求,并且您需要执行注入具体实现。
大多数情况下,如果你使用instanceof来找到你所拥有的类,那么你可以调用一些额外的方法,那么这就是你的设计被打破的标志。
您可能会发现定义“Finder”界面并让Child1实现它并将bean注入Finder字段以及MyIFace字段会很有帮助。