Ich folge dem Spring-Tutorial .
> Im Abschnitt "3.2. Einige Klassen für Geschäftslogik hinzufügen" wird eine Schnittstelle ProductManager
erstellt:
Dann wird eine SimpleProductManager
Implementierungsklasse erstellt:
Die Implementierungsklasse fügt eine zusätzliche Methode setProducts()
hinzu. Sollte die Schnittstelle ProductManager
auch keine setProducts
-Methode haben, um Klassen zu erlauben, die setProducts
verwenden, um SimpleProductManager
polymorph zu instanziieren. Derzeit ist das nicht möglich -
Die Schnittstelle enthält setProducts
nicht, da die Clients dieser Schnittstelle (wahrscheinlich ein MVC-Controller) nicht darauf zugreifen sollen. Die Schnittstelle definiert nur die Operationen, die Clients verwenden sollen, anstatt alle Methoden zu definieren, die die Implementierung haben kann.
Die Methode setProducts
ist für die Konfiguration der Beans zugänglich (z. B. mit <property name="products">
), wodurch die Produkte beim Start statisch konfiguriert werden können. Danach bezieht sich Client-Code über seine eingeschränkte Schnittstelle auf die Bean.
Ihr p.setProducts()
-Beispiel sollte in diesem Beispiel niemals aufgerufen werden, da die Produkte nur in der Beans-Konfiguration und nicht in der Geschäftslogik konfiguriert sind.
Tags und Links java spring spring-mvc