IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Annotation personnalisée dans Java


Sujet :

Langage Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 172
    Points : 0
    Points
    0
    Par défaut Annotation personnalisée dans Java
    Salut

    J'ai un souci sur l'utilisation des annotations personnalisées dans java, c'est quoi leurs buts exactement et leurs vrai plus d'utilisation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    @Qualifier
    @Retention(RetentionPolicy.RUNTIME)
    @Target({FIELD, TYPE })
    public @interface AnnotationPersonnalise{
     
        String value();
    }

  2. #2
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Les annotations permettent d'apporter une information sur ta classe ou ses attributs/méthodes. Je te prends un exemple concret, l'annotation @Deprecated indique que l'élément est déprécié, qu'il ne faut plus l'utiliser à l'avenir (pour les prochaines versions) et trouver une alternative, l'annotation @Override indique que tu redéfinies une méthode présente dans une classe parent. Bien sûr ces annotations font partie du langage Java, mais tu peux toi aussi créer tes propres annotations pour les besoins liés à ton API ou ton framework, c'est ce qu'à fait Spring par exemple pour l'injection de dépendance, ils ont créés leurs propres annotations comme @Component ou @Autowired.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  3. #3
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Donc en gros l’intérêt des annotation personnalisées c'est principalement dépendant des outils tiers que tu utiliseras ou que tu développeras et qui utiliseront ces mêmes annotations placées sur ton code principal.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Pas forcement des outils tiers

    J'ai développé un ensemble de builders abstrait pour les besoins d'un gros projet.
    Tous dérive d'un builder abstrait père qui va lire dans une base de conf l'ensemble de la config associé au builder concret que l'ont veut déployer. Il va alors renseigner un membre de ce builder appelé simplement config. mais pour y parvenir il faut identifier le builder concret pour trouver dans la base la bonne entrée.

    au début, on utilisait un fichier de propriété dans le jar qui était lu et qui contenait
    module: monModule
    name : myName

    avec une annotation cela devient simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @builder(module: "monModule", name : "myName")
    le builder abstrait récupère les valeurs de l'annotation et trouve la conf.

    Il n'y a pas de fichier ressource à fournir et il peut y avoir plusieurs builders dans le même jar.

    C’est un peu comme si on avait ajouté des métadonnées à notre builder concret que le builder abstrait peut exploiter.

    On aurait pu aussi passer par des membres statiques
    Mais dans notre cas ces membres n'ont pas de sens c'est juste une implémentation de la notion de builder que nous utilisons qui en a besoin.

    Avec une annotation on associe des propriétés à notre classe sans en changer la sémantique.

    A+JYT

Discussions similaires

  1. [JSP/Tomcat] Intégration de PHP dans Java
    Par milhouz_deglingos dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 17/08/2005, 12h02
  2. Réponses: 1
    Dernier message: 30/03/2005, 14h03
  3. [PROPERTIES] Bug dans java.util.Properties ?
    Par mathieu dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 28/04/2004, 15h11
  4. Comment generer un fichier war dans java
    Par relivio dans le forum ANT
    Réponses: 4
    Dernier message: 12/03/2004, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo