[Session d'étude interne] Bases de l'annotation Java (2017/11/02) ~ En construction ~

0. Introduction


Contenu

Connaissances préalables


Livres de référence

image

«Effective Java 2nd Edition» Maruzen Publishing


table des matières

  1. Avantages de l'annotation
  2. Annotation personnalisée
  3. Afficher le contenu de JUnit et de lombok

1. Avantages de l'annotation


Présentation des annotations Java

L'annotation (en anglais: annotation) consiste à ajouter des informations connexes (métadonnées) à certaines données sous forme d'annotation.


Exemple d'annotation (JUnit4)

CalculationTest.java


public class CalculationTest {
    /**Cas de test 1*/
	@Test
	public void sampleTest1() {
		//...
	}
    /**Cas de test 2*/
	@Test
	public void sampleTest2() {
		//...
	}    
}

Si vous ne pouvez pas utiliser d'annotations dans JUnit (JUnit3)

CalculationTest.java


public class CalculationTest extends TestCase{
    /**Cas de test 1*/
	public void testSample1() {
		//...
	}
    /**Cas de test 2*/
	public void testSample2() {
		//...
	}    
}

Inconvénients des modèles de dénomination

Ne remarquez pas la faute de frappe

Les valeurs de paramètre ne peuvent pas être associées

Par exemple, considérons une méthode de test qui s'attend à lancer ʻIllegalArgumentException`.

/**Comment écrire JUnit4*/
@Test(expected = IllegalArgumentException.class)
public void sample() {
	//...
}

/**Exemple lorsque l'annotation ne peut pas être utilisée*/
public void test_IllegalArgumentException_sample() {
	//...
}    

Comparaison de XML et des annotations

Le servlet peut être défini avec une annotation ou XML.

@WebServlet("/Hello")
public class HelloServlet extends HttpServlet {
  //...
}

web.xml


<!--Si vous n'utilisez pas d'annotations, spécifiez dans XML-->
<servlet>
  <servlet-name>Hello</servlet-name>
  <servlet-class>jp.co.sample.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>Hello</servlet-name>
  <url-pattern>/Hello</url-pattern>
</servlet-mapping>

Caractéristiques des annotations par rapport au XML

⇒ ** Fort contre les changements de source **


Annotations de bibliothèque standard


@Override

Une annotation qui indique que la méthode est remplacée.

Book.java


public class Book {
	public Book(String title, String author) {
		this.title = title;
		this.author = author;
	}
	String title;
	String author;

	@Override //Compile Error.Correctement égal(Object obj)
	public boolean equals(Book obj) {
		//Omettre la vérification nulle
		return title.equals(obj.title) && author.equals(obj.author);
	}

}

Au moment de la compilation, notez qu'il n'est pas remplacé (surchargé).


@Deprecated

Depuis Java9, vous pouvez écrire @Deprecated (since =" 9 ", forRemoval = true)


@SuppressWarnings

Faites en sorte que l'EDI supprime les messages d'avertissement.

@SuppressWarnings( "unchecked" ) //Exclure les avertissements concernant la vérification de type
@SuppressWarnings( "javadoc" ) //Exclusion des avertissements JavaDoc
public class Book {
	//..
}

attribut de valeur


appendice


Annotation standard


Site de référence

http://www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-MA14-Architect-TypeAnnotations.pdf http://www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-MA16-Annotations.pdf

Recommended Posts

[Session d'étude interne] Bases de l'annotation Java (2017/11/02) ~ En construction ~
Résumé de la session d’étude interne des recrues [Java]
[Session d'étude interne] Gestion des exceptions Java (2017/04/26)
[Session d'étude interne] Introduction du "Code lisible"
[Session d'étude interne] Exécution des bases Java sans utiliser l'IDE- (2017/07/06)
Histoire des annotations Java
[Session d'étude interne] Principes de base de l'expression Java-Lambda et de l'API Stream- (13/07/2017)
Principes de base de l'utilisation des caractères (Java)
[Java] Création d'annotations originales
Résumé des bases du langage Java
Résumé du package [Java Silver Study]
Liste des méthodes Java (mémoire) (en construction)
[Mémo de la session d'étude] Java Day Tokyo 2017
[Traitement x Java] Création d'un environnement de développement
Mémorandum du nouveau diplômé SES [Java basics]
[# 1 Java] Principes de base de Java-Major avant d'étudier-
[jour: 5] J'ai résumé les bases de Java
Retour sur les bases de Java
[Java] Annotation
[Java] Annotation
Les bases de Java
Les bases de Java
Mémo de la session d'étude: Kansai Java Engineers Association 8/5 - Selenium
[Introduction à Java] Bases de l'arithmétique Java (pour les débutants)