Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 16988|Répondre: 0

[Source] Java annotations@PostConstruct ainsi que des explications détaillées et des exemples de @PreDestroy

[Copié le lien]
Publié sur 04/04/2019 16:21:12 | | | |
Brève introduction

Java EE5 introduit deux annotations, @PostConstruct et @PreDestroy, qui agissent sur le cycle de vie du servlet, permettant des opérations personnalisées avant l’initialisation du bean et avant sa destruction. Cet article explique principalement @PostConstruct.

Instructions d’utilisation de l’API

Voici les instructions pour utiliser l’API @PostConstruct :

Les annotations PostConstruct sont utilisées sur les méthodes qui doivent être exécutées après l’injection de dépendance pour effectuer toute initialisation. Cette méthode doit être appelée avant d’intégrer la classe dans le service. Toutes les classes qui supportent l’injection de dépendances doivent prendre en charge cette annotation. Même si la classe ne demande aucune injection de ressources, la méthode annotée avec PostConstruct doit être appelée. Il n’y a qu’une seule façon d’annoter avec cette annotation. La méthode d’application des annotations PostConstruct doit respecter tous les critères suivants : la méthode ne doit avoir aucun paramètre sauf dans le cas d’un intercepteur EJB, tel que défini par la spécification EJB, auquel cas elle sera accompagnée d’un objet InvocationContext ; Le type de retour de la méthode doit être nul ; La méthode ne doit pas lancer une exception cochée ; La méthode d’application de PostConstruct peut être publique, protégée, inconditionnelle privée ou privée ; La méthode ne peut être statique que pour le client applicatif ; La méthode peut être définitive ; Si la méthode génère une exception non cochée, alors la classe ne doit pas être placée dans le service à moins qu’il ne s’agisse d’un EJB capable de gérer l’exception et de s’en retrouver.
Elle peut se résumer ainsi :

  • Il n’y a qu’une seule façon d’annoter avec cette annotation ;
  • La méthode annotée ne doit comporter aucun paramètre ;
  • La méthode annotée retourne une valeur de void ;
  • La méthode annotée ne doit pas lancer une exception cochée ;
  • La méthode annotée doit être une méthode non statique ;
  • Cette méthode n’est réalisée qu’une seule fois ;


Organigramme d’exécution des servlets

L’ajout de deux annotations ne permettra au servlet d’exécuter le diagramme de flux :



Lors du processus d’instanciation d’un grain spécifique, la méthode annotée @PostConstruct est appelée d’après la méthode construct et avant la méthode init.

Exemple

Des méthodes exécutables écrites à partir de Spring boot se trouvent sur github :https://github.com/HappySecondBrother/example

Méthode UserService (fournit des données mises en cache) :

Méthode BusinessService, appel à UserService par @PostConstruct :

Résultats d’exécution :

Application du projet

Dans le project@PostConstruct le scénario principal d’application consiste à charger certaines données de cache lors de l’initialisation du servlet.

Notes :

L’utilisation de cette annotation affecte l’heure de début du service. Le serveur scanne tous les fichiers en WEB-INF/classes ainsi que tous les packages jar sous WEB-INF/lib au démarrage.





Précédent:Impossible d’injecter @Autowired dans Listener
Prochain:PDF chinois 3e édition haute performance mysql
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com