Ich fand heraus, dass in einem MVC-Muster gibt es hauptsächlich 4 Klassen; der Controller, der Service, der Service Impl und Repo.Code-Architektur der Service-Schnittstelle und Service-Impl Klassen Frühjahr
Der Dienst ist eine Schnittstelle und Service impl implementiert Dienstklasse und enthält alle logischen Codes. Die Struktur wäre so etwas wie: -
Service
Interface-Klasse
Service{
public void someMethod();
}
ServiceImpl
Klasse
ServiceImpl implements Service{
public void someMethod(){
//do something
}
}
Aber wenn wir die Service-impl-Codes von der Steuerung zugreifen möchten, rufen wir die Methode der Service Klasse wie: -
@Autowired
Service service;
Object obj = service.someMethod();
Wie führen Sie die Controller-Code von ServiceImpl
Klasse
Was passiert also, wenn wir die 'Service'-Schnittstelle mit mehreren Klassen implementieren? Deren Implementierungscode wird ausgeführt. – viper
Wenn Sie mehrere Spring-Beans haben, die 'Service' implementieren, erhalten Sie beim Start der Anwendung einen Fehler, da Spring nicht weiß, welcher ausgewählt werden soll. Es gibt verschiedene Möglichkeiten, Spring mitzuteilen, wie zum Beispiel '@ Qualifier' oder' @ Primary'. – Jesper
Vielen Dank für die Antwort, Sir. Aber warum benutzt der Frühling diese Art von Patttern? Ich denke, in einem normalen 'mvc'-Muster gibt es keine notwendige Rolle einer Interface-Klasse. Es wird nur benötigt, um die 'ServiceImpl'-Klassen zu zwingen, einige Methoden zu implementieren. – viper