# Java EE 7 CDI, annotations und beans



## Vokabulator (21. Okt 2014)

Hallo!

Ich bin da etwas verwirrt wegen der Terminologie und den annotations, die zum Einsatz kommen.

Also hier steht: The Java EE 7 Tutorial:About CDI Managed Beans | Java EE Documentation dass CDI managed beans entweder durch die Java EE Technologie zu managed beans werden oder bestimmte Kriterien erfüllen müssen (und keine EjB sein dürfen).

Aber ich muss doch auch wenn ich JSF benutze die @Inject annotation verwenden, um CDI zu verwenden oder? So wie das da steht ließt sich das als "entweder / oder"

Und laut diesem Post hier:

Comparing JSF Beans, CDI Beans and EJBs | Andy Gibson

Sollte man nur noch CDI-Beans verwenden, es sei denn, man möchte bei EjB noch die speziellen Zusatzfunktionen verwenden (wobei man das auch per CDI-Beans machen könnte)

Also mal konkret auf die Packages bezogen:
- Nix mehr aus javax.faces
- Nur noch aus javax.enterprise / javax.inject  und zur Not aus javax.ejb

Stimmen dem alle zu? Oder ist das nur die Meinung desjenigen, der den Artikel geschrieben hat?

Und CDI ist jetzt im Prinzip annotation-mäßig alles das, was in javax.enterpreise und javax.inject liegt, richtig? Alle anderen annotations gab es schon vor CDI Java EE 7.


----------



## BuckRogers (30. Okt 2014)

Kann man so machen. Muss man aber nicht. In Managedbeans kann man auch andere Beans injecten via Annotation. Ich verstehe Managedbeans eher noch als Servletcontroller welche Daten an die Ejbs weitergeben und von dort an die DB usw.


----------

