12.5.3. Types de dépendances de service


Les services peuvent déclarer des dépendances sur d'autres services par l'une des approches suivantes :
@org.hibernate.service.spi.InjectService
Toute méthode de classe d'implémentation de service qui accepte un seul paramètre et qui est annotée par @InjectService est considérée comme réclamant une injection de la part d'un autre service.
Par défaut, le type du paramètre de méthode doit correspondre au rôle de service à injecter. Si le type de paramètre est différent du rôle de service, l'attribut serviceRole du InjectService devra être utilisé pour nommer explicitement le rôle.
Les services injectés sont requis par défaut, c'est à dire que le démarrage échouera si un service dépendant nommé est manquant. Si le service injecté est optionnel, l'attribut requis d'InjectService devra être déclaré false (la valeur par défaut est true).
org.hibernate.service.spi.ServiceRegistryAwareService
La seconde approche est une approche pull pour laquelle le service implémente l'interface de service optionnelle org.hibernate.service.spi.ServiceRegistryAwareService qui déclare une méthode injectServices unique.
En cours de démarrage, Hibernate injectera le org.hibernate.service.ServiceRegistry lui-même dans les services qui implémentent cette interface. Le service pourra alors utiliser la référence ServiceRegistry pour trouver les services additionnels dont il pourrait avoir besoin.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat