Dans le passé, les cadres Java ont essentiellement utilisé XML comme fichiers de configuration, mais maintenant les cadres Java prennent également en charge la "configuration zéro" en fonction de l'annotation au lieu des fichiers de configuration XML. Struts2, Hibernate et Spring ont tous commencé à utiliser l'annotation au lieu des fichiers de configuration XML; et Spring3.x fournit trois options, à savoir: configuration basée sur XML, configuration basée sur l'annotation et configuration basée sur Java.
Voici les trois méthodes de configuration; Définissez d'abord un JavaBean par exemple.
package com.chinalife.dao classe publique LoginUserDao {... // Utilisé pour définir la méthode d'initialisation public void myinit () {} // utilisé pour définir la méthode de destruction publique void myDestroy () {}}1. Configuration basée sur XML
<bean id = "LoginUserDao" class = "com.chinalife.dao.impl.loginuserdaoimpl" lazy-init = "true" init-méthod = "myinit" destrement-méthod = "myDestroy" scope = "prototype"> ... </ank>
Dans la configuration XML, le bean est défini via <an Bean> </bEAN>, et le nom du bean est défini via l'attribut ID ou nom. Si les attributs d'ID et de nom ne sont pas spécifiés, Spring utilisera automatiquement le nom de classe entièrement qualifié comme nom du bean. Injectez la valeur dans le bean via l'attribut dynamique de l'élément enfant <propriété> ou de l'espace de noms p. Vous pouvez également spécifier le nom de la méthode de la classe d'implémentation de bean via les propriétés d'initiation de la méthode et de la méthode destory de <Ean> pour définir la méthode du processus de vie (spécifiez au plus une méthode d'initialisation et une méthode de détruire). Spécifiez l'étendue du haricot à travers la portée de <fean>. J'ai entendu parler de l'attribut de paresseux de <Ean> Spécifie s'il faut retarder l'initialisation.
Lorsque la classe d'implémentation du bean provient de bibliothèques de classe tierces, telles que DataSource, HiberNateTemplate, etc., elle ne peut pas annoter les informations dans la classe et ne peut être configurée que via XML; et la configuration d'espaces de noms, tels que AOP, contexte, etc., ne peut utiliser que la configuration basée sur XML.
2. Configuration basée sur l'annotation
@Scope ("Prototype") @lazy (true) @Component ("LoginUserDao") classe publique LoginUserDao {... // Utilisé pour définir la méthode d'initialisation @postConstruct public void MyInit () {} // utilisé pour définir la méthode destrucction @predestryy public void myDestroy () {}}Dans la classe d'implémentation de bean, certaines annotations sont utilisées pour annoter la classe de bean:
・ @Component: annotez une classe de Springbean normale (le nom de bean peut être spécifié, et la valeur par défaut est le nom de classe commençant par des lettres minuscules lorsqu'elle n'est pas spécifiée)
・ @Controller: Annoter une classe de contrôleur
・ @Service: Annoter une classe de logique commerciale
・ @Repository: Annoter une classe DAO
En étiquetant @Autowired par l'injection de correspondance de type aux variables membre ou paramètres de méthode, vous pouvez également utiliser @qualifier pour configurer l'injection par nom. La méthode d'initialisation et la méthode de détruire spécifiées en annotant l'annotation @postContrut et Prestoy (comme beaucoup peuvent être définies). Spécifiez la portée de l'action du bean via @Scope ("Prototype"). Spécifiez le chargement paresseux du bean en étiquetant @lazy (true) à la définition de la classe.
Lorsque la classe d'implémentation du bean est développée par le projet actuel, vous pouvez utiliser directement la configuration basée sur l'annotation dans la classe Java, et la configuration est relativement simple.
3. Configuration basée sur Java
@Configuration publique classe confr {@scope ("prototype") @bean ("LoginUserDao") public LoginUserDao LoginUserDao () {return new LoginuserDAO (); }}Dans la classe Java marquée @configuration, définissez un bean en annotant @Bean dans la méthode de la classe. Les méthodes doivent fournir une logique d'instanciation pour les haricots. Le nom du haricot peut être défini via l'attribut @Bean Name. Le nom par défaut est le nom de la méthode s'il n'est pas spécifié. À la méthode, utilisez @Autowired pour lier la méthode au paramètre, puis injectez-le via du code dans la méthode; Vous pouvez également appeler la méthode @Bean de la classe de configuration pour l'injection. Spécifiez une méthode d'initialisation ou de détruire par l'initiation de @ bean ou de destrum. La portée de l'action du haricot est spécifiée par la définition de la méthode du haricot. Spécifiez l'initialisation de retard du bean en étiquetant @lazy à la définition de la méthode du bean.
Lorsque la logique de l'instanciation d'un haricot est plus compliquée, elle convient plus à la configuration de la classe Java.
Résumer
Ce qui précède est tout le contenu de cet article sur les trois méthodes de configuration des haricots dans le printemps 3.x. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!