Les annotations Java sont-elles utilisées pour ajouter des fonctionnalités au code Java en plus d'ajouter de la documentation sur ce qui se passe dans le code? Quelle est la fonctionnalité la plus avancée/complexe que vous pourriez ajouter à votre code grâce à une annotation?Les annotations Java ajoutent-elles une notation ou une fonctionnalité?
Répondre
Les annotations ne sont essentiellement pas plus qu'une étiquette (avec des données supplémentaires facultatives) sur une classe/méthode/champ. D'autres codes (bibliothèques ou outils) peuvent découvrir ces balises et exécuter des fonctionnalités en fonction des annotations trouvées. Je ne vois pas de réelle limite à la complexité des fonctionnalités éventuellement ajoutées par les annotations. Cela peut par exemple émuler AOP (ajouter une fonctionnalité avant ou après une méthode avec une annotation).
Les annotations en tant que telles ajoutent uniquement des informations (métadonnées) à une classe.
Cependant, il est facile de créer un système qui utilise ces métadonnées pour fournir des fonctionnalités supplémentaires.
Par exemple, vous pouvez utiliser apt
pour générer des classes en fonction des informations fournies par l'annotation.
Je comprendrais les annotations comme un moyen de documenter votre code d'une manière lisible par une machine. Par exemple, dans Hibernate, vous pouvez spécifier toutes les informations de persistance pour vos objets en tant qu'annotations. Ceci est directement lisible pour vous et pas dans un fichier XML distant. Mais il est également lisible pour que l'outil génère des configurations, des schémas de base de données, etc.
Une annotation nécessite un outil pour réagir. Si un tel outil n'existe pas, l'annotation est simplement une notation. L'outil peut être un agent basé sur APT
ou un morceau de code utilisant la réflexion (par exemple, @Test
de JUnit).
Plusieurs annotations sont reconnues par le compilateur Java et ont donc une sémantique prédéfinie: @Override
, @Deprecated
, @Target
.
- 1. Pourquoi les annotations java?
- 2. Les annotations sont-elles une sorte de DSL en Java?
- 3. annotations Java
- 4. Fonctionnalité printf Java pour les collections ou les tableaux
- 5. Annotations ou annotations communément réutilisables?
- 6. Java Annotations - Existe-t-il une bibliothèque auxiliaire pour lire/traiter les annotations?
- 7. Utilisations cool des attributs ou des annotations (CLR ou Java)?
- 8. Autoriser uniquement les annotations dans une liste
- 9. Annotations utiles de Java
- 10. Champ privé dans les annotations Java
- 11. Les annotations Java ne fonctionnent pas
- 12. Java DecimalFormat Scientific Notation Question
- 13. Annotations d'annotations en Java 5/6
- 14. meilleur (ou au moins bon) guide des annotations Java
- 15. double notation scientifique à la notation décimale en Java
- 16. Java int ... notation de la matrice
- 17. Comment ajouter une fonctionnalité de licence à un programme Java?
- 18. Sur les classes abstraites dans les annotations Java et Hibernate
- 19. système de notation sans recharger une page
- 20. Comment puis-je résoudre une notation infixe sans la convertir en une autre notation?
- 21. Quelle langue a une meilleure fonctionnalité Threading? PHP ou Ruby
- 22. Combiner des annotations en Java
- 23. Division simple en Java - est-ce un bug ou une fonctionnalité?
- 24. Annotations Java dans eclipse Tooltip?
- 25. configurer le compilateur java pour qu'il donne une erreur sur les annotations manquantes
- 26. notation sur une échelle de 1-100
- 27. En utilisant les annotations Spring, comment utiliser DI avec une superclasse via des annotations?
- 28. java annotations: bibliothèque pour remplacer les annotations avec des fichiers xml
- 29. Les classes de domaine reçoivent-elles généralement des annotations JPA ou JAXB ou les deux?
- 30. Explication sur les annotations