Code: Select all
abstract class A{
@Autowired
Client client;
protected void doSomething(){
/* ....some code .... */
client.someStuff();
/* ....some code .... */
}
/* ..... few abstract methods ......... */
}
class B extends A{
public void action(){ doSomething() }
}
class C extends A{
public void action(){ doSomething() }
}
< /code>
My .xml Confirugration -Datei ist < /p>
< /code>
Ich habe also im Grunde eine abstrakte Klasse, die eine Methode hat, die bei beiden Unterklassen gemeinsam ist. Diese Methode verwendet die Client -Referenz, wird jedoch zur Laufzeit ein anderes Objekt verwendet. dosomething () < /code> wird in den Unterklassen nicht überschrieben. Ich glaube nicht, dass ich @Qualifier verwenden kann, da @Qualifier den Bean -Namen von .xml als Parameter angeben muss, aber da das Attribut "Client" häufig ist, kann ich nicht nur einen Bean -Namen verwenden. < /p>
Kann jemand bitte helfen, zu erklären, ob es eine Möglichkeit gibt, sich fortzubewegen? Das Duplizieren des Dosens ()