[JAVA] Résumé de l'écriture des arguments d'annotation

introduction

Comme je l'ai écrit dans un autre article, je n'ai pas beaucoup touché Java à l'apogée des annotations (?), Donc je ne comprenais pas bien les règles d'argumentation des annotations, et même si je cherchais sur Google, rien ne répondait à la demande, donc je l'écrirai moi-même. Pour ceux qui ont la même question à l'avenir.

Dans ce qui suit, l'exemple d'annotation utilise @RequestMapping.

Définition du terme

Ce n'est peut-être pas exact, mais je l'utilise dans ce sens ci-dessous.

Arguments
Le nom qui associe la valeur que vous spécifiez lors de l'écriture de l'annotation.
Élément
Le nom que l'annotation accepte dans la référence.

Règle 1: ceux avec des valeurs par défaut peuvent être omis

En regardant la référence de @ RequestMapping, certains éléments sont écrits, mais comme les valeurs par défaut sont toutes spécifiées, vous pouvez écrire comme suit. La valeur par défaut de chaque élément est utilisée.

@RequestMapping

Règle 2: peut être omis si le nom de l'argument est value

Les éléments suivants ont la même signification

@RequestMapping(value = "/")
@RequestMapping("/")

Dans le cas de Spring, @ AliasFor est préparé, et l'endroit où" Que signifie la valeur de Mapping? "Peut être écrit comme chemin. Voir la référence pour quel élément est un alias pour valeur. Je pense que quelque chose qui est presque comme perçu est un autre nom.

@RequestMapping(path = "/")

Règle 3: vous pouvez écrire des arguments sous forme de valeurs scalaires même si le type d'élément est un tableau

Le compilateur l'étend à un tableau.

// value -> {"/"}
@RequestMapping("/")

Vous pouvez ou non écrire votre propre {}. Cependant, {} est requis lors de l'écriture de deux arguments ou plus, comme expliqué ci-dessous.

// value -> {"/", "/index"}
@RequestMapping("/", "/index")
// value -> {"/", "/index"}
@RequestMapping({"/", "/index"})

Règle 4: nom d'argument requis s'il y a deux arguments ou plus

C'était difficile à comprendre car je pensais que c'était comme un argument obligatoire et un argument optionnel comme l'argument de valeur par défaut de Python.

@RequestMapping(value = "/", method = RequestMethod.GET)

//Je veux décorer Python Je ne peux pas écrire comme suit
@RequestMapping("/", method = RequestMethod.GET)

Recommended Posts

Résumé de l'écriture des arguments d'annotation
Résumé de la mise en œuvre des arguments par défaut en Java
Comment rédiger un code facile à comprendre [Résumé 3]
[java] Résumé de la gestion des caractères
[Java] [Maven3] Résumé de l'utilisation de Maven3
Comment écrire des rails
Comment écrire docker-compose
Comment écrire Mockito
Comment écrire un fichier de migration
Résumé de la sélection des éléments dans Selenium
Promesse JDBC et exemple d'écriture
Résumé de la création de balises JSF personnalisées
[Java] Résumé de la façon d'omettre les expressions lambda
Comment écrire du bon code
Comment écrire Scala du point de vue de Java
[Java] Types de commentaires et comment les rédiger
Comment rédiger un commentaire java
[Refactoring] Comment écrire le routage
Résumé de l'API de communication Java (1) Comment utiliser Socket
Comment écrire Junit 5 organisé
Résumé de l'API de communication Java (3) Comment utiliser SocketChannel
Comment écrire des graines de Rails
Résumé de l'API de communication Java (2) Comment utiliser HttpUrlConnection
Comment écrire le routage Rails
Comparaison de l'écriture des fonctions de rappel (Java, JavaScript, Ruby)
Étudier Java # 6 (Comment écrire des blocs)
Comment utiliser setDefaultCloseOperation () de JFrame
[Rails] Comment écrire la gestion des exceptions?
Comment écrire une déclaration de variable Java
Comment utiliser l'annotation MyBatis Mapper
[Webpacker] Résumé de l'installation de Bootstrap et jQuery dans Rails 6.0
Bases du développement Java ~ Comment écrire des programmes (variables et types) ~
Comment écrire Ruby en une seule ligne Résumé par débutant
[Java] Comment écrire lors du passage de deux arguments ou plus à super
[Rails] Comment résoudre un nombre incorrect d'arguments (donné 2, attendu 0..1) pour user_id
Comment écrire un exemple d'implémentation Java d'un problème F01 en temps réel hors ligne
Comment créer un résumé de calendrier Java
Comment nommer les variables 7 sélections d'inconfort
[Basique] Comment écrire un auto-apprentissage Dockerfile ②
[Introduction à Java] Comment écrire un programme Java
[Java] Comment sortir et écrire des fichiers!
Comment déterminer le nombre de parallèles
Résumé de la participation au JJUG CCC 2019 Spring
Comment effectuer un micro-bench tout en modifiant les arguments de VM
Comment trier une liste de SelectItems
Comment écrire un spécificateur de coupe de point Spring AOP