Modele contrat de travail cadre cdi

CDI a été influencé par un certain nombre de frameworks Java existants, y compris Seam, Guice et Spring. Cependant, CDI a son propre, très distinct, caractère: plus typotypé que Seam, plus avec état et moins XML-centric que le printemps, plus de Web et d`entreprise-application capable que Guice. Mais il ne pouvait pas avoir été l`un de ces sans inspiration des cadres mentionnés et beaucoup de collaboration et de travail acharné par les groupes d`experts JSR-299 et JSR-346 (EG). Dans cet exemple, nous faisons une classe d`infrastructure, SecurityManager disponible pour l`injection. Pour rendre les choses un peu plus intéressantes, nous allons déléguer de nouveau à la InjectionTarget du conteneur pour effectuer l`instanciation et l`injection sur l`instance de SecurityManager. La première chose qu`un développeur de cadre va chercher dans l`extension portable SPI est un moyen d`injecter des haricots CDI dans des objets qui ne sont pas sous le contrôle de CDI. L`interface InjectionTarget rend cela très facile. Dans le cadre de la même relation de travail, une seule période d`essai peut être mise en œuvre. La période d`essai ne peut être renouvelée pour le même poste ou pour un poste similaire et non dans le cadre de la promotion de l`employé à un nouveau poste. CDI fournit même un SPI complet, permettant à d`autres types d`objets définis par les futures spécifications Java EE ou par des frameworks tiers d`être proprement intégrés avec CDI, de profiter des services CDI et d`interagir avec n`importe quel autre type de haricot. Le couplage lâche rend un système plus dynamique.

Le système peut réagir au changement d`une manière bien définie. Dans le passé, les cadres qui tentaient de fournir les installations énumérées ci-dessus l`ont invariablement fait en sacrifiant la sécurité de type (notamment en utilisant des descripteurs XML). CDI est la première technologie, et certainement la première spécification dans la plate-forme Java EE, qui réalise ce niveau de couplage lâche d`une manière typotypée. Désactivez la résolution de l`espace de travail m2eclipse`s, pour vous assurer que Eclipse peut trouver StartMain. Faites un clic droit sur le projet, et choisissez Properties-> Maven, et décochez résoudre les dépendances des projets Workspace: d`autre part, n`ayez pas peur d`utiliser des haricots de session juste parce que vous avez entendu vos amis dire qu`ils sont «lourds». Ce n`est rien de plus que de la superstition de penser que quelque chose est «plus lourd» simplement parce qu`il est hébergé nativement dans le conteneur Java EE, au lieu d`un conteneur de haricot propriétaire ou d`une infrastructure d`injection de dépendance qui s`exécute comme une couche supplémentaire d`obscurcissement. Et comme un principe général, vous devriez être sceptique des gens qui utilisent la terminologie vaguement définie comme “Heavyweight”. Certes, plusieurs cadres populaires, y compris Google Guice et même Spring fera la construction de graphes d`objets beaucoup moins douloureux. CDI est standardisée, cependant, vous donnant un choix de plusieurs implémentations. Et lutter avec les fardeaux d`un cadre à part entière comme le printemps n`est pas toujours la meilleure approche à prendre si vous voulez juste faire DI simple. CDI, d`autre part, vise à faire DI un non-brainer, sans avoir à recourir à tout cadre externe que ce soit.

This entry was posted in Geen categorie. Bookmark the permalink.