Ich hätte gerne in Java SE
%Vor%Was muss ich tun, um das zu erreichen? Ich benutze Postgres-Datenbank und Maven in meinem Projekt.
Ich habe schon etwas über Weld gelesen (aber es sieht nur wie CDI aus). Ich weiß nicht, wie ich Weld hinzufügen soll Möglichkeit, den Entity Manager zu injizieren. Ich weiß, dass ich Entity Manager mit
erhalten kann %Vor%aber es ist nicht so praktisch wie injizieren.
Es wäre großartig, wenn es ein Tutorial dazu gäbe. Wie auch immer, danke für jede Hilfe!
Erstens sind EJBs Teil von Java EE und können daher nicht in Java SE verwendet werden. CDI kann jedoch in der Java SE-Umgebung verwendet werden, mein Beispiel zeigt Ihnen, wie Sie es mit Weld verwenden, aber es gibt auch andere Implementierungen - beachten Sie, dass CDI nur Spezifikation ist und Weld eine der Implementierungen dieser Spezifikation ist.
Um Weld zu verwenden, müssen Sie entweder weld-se-x.x.x-Final.jar
aktivieren der Klassenpfad oder geben Sie seine Abhängigkeit in Maven wie
Dann müssen Sie den Container in Ihrer Hauptmethode starten, also machen Sie so etwas
%Vor% Damit sollten Sie beginnen, dann können Sie CDI-Produzenten verwenden, um Ihre EntityManager
injizierbar zu machen
Siehe auch Dokumentation zur Verwendung von CDI in Java SE .
Peters Antwort scheint zu funktionieren, aber die Maven-Abhängigkeiten sind veraltet (siehe diesen Fehler )
%Vor%Tags und Links java jpa cdi entitymanager