La configuration des annotations présente de nombreux avantages par rapport à la configuration XML :
Il peut utiliser pleinement le mécanisme de réflexion de Java pour obtenir des informations sur la structure des classes, ce qui peut réduire efficacement le travail de configuration. Par exemple, lorsque vous utilisez des annotations JPA pour configurer le mappage ORM, nous n'avons pas besoin de spécifier les noms, types et autres informations des attributs PO. Si les champs de la table de relations et les noms et types des attributs PO sont cohérents, vous n'avez même pas besoin d'écrire l'attribut de tâche. Informations de mappage - car ces informations peuvent être obtenues via le mécanisme de réflexion Java.
Les commentaires et le code Java se trouvent dans un seul fichier, tandis que la configuration XML utilise un fichier de configuration indépendant. La plupart des informations de configuration ne seront pas ajustées une fois le programme développé. Si les informations de configuration et le code Java sont placés ensemble, cela contribue à améliorer la cohésion. le programme. Avec des fichiers de configuration XML indépendants, les programmeurs doivent souvent basculer constamment entre les fichiers de programme et les fichiers de configuration lors de l'écriture d'une fonction. Cette incohérence de réflexion réduira l'efficacité du développement.
Par conséquent, dans de nombreux cas, la configuration des annotations est plus populaire que la configuration XML, et la configuration des annotations connaît une autre tendance à la popularité. Une amélioration majeure de Spring 2.5 est l'introduction de nombreuses classes d'annotations. Vous pouvez désormais utiliser la configuration des annotations pour compléter la plupart des fonctions de configuration XML.
Où la configuration des annotations et la configuration XML sont applicables
Avec ces annotations IOC, peut-on abandonner complètement la méthode de configuration XML originale ? La réponse est non. Il y a plusieurs raisons :
La configuration des annotations n'est pas nécessairement intrinsèquement supérieure à la configuration XML. Si la dépendance du Bean est fixe (par exemple quelles classes DAO sont utilisées par le service) et que ces informations de configuration ne seront pas ajustées lors du déploiement, alors la configuration des annotations est meilleure que la configuration XML, à l'inverse, si cette dépendance ne sera pas ajustée lors du déploiement ; Lorsque des ajustements se produisent, la configuration XML est évidemment meilleure que la configuration des annotations, car les annotations sont des ajustements du code source Java et vous devez réécrire le code source et le recompiler avant de pouvoir implémenter l'ajustement.
Si le Bean n'est pas une classe écrite par vous-même (comme JdbcTemplate, SessionFactoryBean, etc.), la configuration des annotations ne sera pas implémentée et la configuration XML est la seule méthode disponible.
La configuration des annotations a tendance à se faire au niveau de la classe, tandis que la configuration XML peut être plus flexible. Par exemple, par rapport à l'annotation de transaction @Transaction, la configuration des transactions à l'aide de l'espace de noms aop/tx est plus flexible et plus simple.
Par conséquent, lors de l'implémentation d'applications, nous devons souvent utiliser simultanément la configuration des annotations et la configuration XML. Pour les configurations au niveau de la classe qui ne changeront pas, la configuration des annotations peut être donnée en priorité aux classes tierces et aux configurations faciles à mettre en œuvre. ajuster, la priorité doit être donnée à leur utilisation en configuration XML. Spring fusionnera les méta-informations de ces deux méthodes de configuration avant d'implémenter la création et l'injection de bean.
résumé
Spring fournit un support important pour la configuration des annotations depuis la version 2.1, et la fonction de configuration des annotations est devenue l'un des points forts de Spring 2.5. L'utilisation raisonnable de la configuration des annotations Spring 2.5 peut réduire efficacement la charge de travail de configuration et améliorer la cohésion du programme. Mais cela ne signifie pas que la configuration XML traditionnelle va disparaître. La configuration XML a toujours des fonctions irremplaçables dans la configuration des classes de beans tiers, ainsi que dans la configuration de contenus tels que les sources de données, les pools de cache, les classes de modèles d'opérations de couche de persistance, gestion des transactions, etc. statut.