Wie ist CDI und JPA in Java SE am einfachsten zu erhalten?

9

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!

    
dmydlarz 05.01.2014, 16:24
quelle

2 Antworten

15

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

an %Vor%

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

%Vor%

Siehe auch Dokumentation zur Verwendung von CDI in Java SE .

    
Petr Mensik 05.01.2014, 17:25
quelle
1

Peters Antwort scheint zu funktionieren, aber die Maven-Abhängigkeiten sind veraltet (siehe diesen Fehler )

%Vor%     
leftbit 25.11.2015 14:46
quelle

Tags und Links