Ich versuche, jsf2 Anwendung von managed beans
zu CDI
zu konvertieren.CDI Produzent Vorteil
Also lerne ich und entdecke die Vorteile von CDI
. Es scheint großartig, aber es gibt etwas, das ich nicht verstehe mit producer
.
Über CDI
Ich lese, dass einer der Vorteile ist, coupling
zu reduzieren. Ich habe etwas experimentiert mit einer Schnittstelle, einige Implementierung, die @default
, @alternate
, @inject
. Und es macht die Arbeit. In diesem Fall kann ich die Kopplung "Reduktion" sehen.
Aber wenn ich einen Hersteller für die Protokollierung implementieren, sehe ich es nicht.
Für jetzt bin ich mit so etwas wie
Logger log = LoggerFactory.getLogger(MyClass.class);
Mit CDI, nach dem Hersteller zu schaffen, ich habe
@Inject
Logger logger;
Ok, es ist kürzer, aber die Logger-Klasse ist immer noch gekoppelt mit z.B. log4j.
Also wenn ich eine andere Logger-Bibliothek verwenden möchte, muss ich noch alle meine Klassen ändern.
Gibt es etwas, das ich nicht verstanden habe?