Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
enseignement:d35:tp:tp2 [2014/02/22 23:46] Emmanuel Brunoenseignement:d35:tp:tp2 [2023/09/20 18:52] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== D35 - TP2 - Révision de Java, mise en pratique de Redmine+git+maven ======+====== D35 - TP2 - Révision de Java, mise en pratique de git+maven ======
  
-http://fr.slideshare.net/sandeepchawla/maven-introduction+Pour une introduction rapide à maven : http://fr.slideshare.net/sandeepchawla/maven-introduction
  
 ===== Objectif ====== ===== Objectif ======
 L’objectif de ce TP est réviser les concepts de base du langage Java que vous L’objectif de ce TP est réviser les concepts de base du langage Java que vous
-devez maîtriser. Il permettra une première mise en pratique réel de l’utilisation de git, de +devez maîtriser. Il permettra une première mise en pratique réelle de l’utilisation de Git et de maven. Appuyez vous sur https://bruno.lsis.univ-tln.fr/java/fulljavaVous lirez le sujet en entier et par groupes de deux ou trois vous mettrez en place un projet github ou trello pour suivre l’avancement de vos révisions (mise en place d’une roadmap, de tickets pour chaque question, suivi des bug et livraisons).
-redmine (sur https://lsis.univ-tln.fr/redmineedu/) et de mavenPour cela, vous lirez le sujet en entier et par groupes de trois vous mettrez en place un projet redmine pour suivre l’avancement de vos révisions (mise en place d’une roadmap, de tickets pour chaque question, suivi des bug et livraisons).+
  
-Pour tous les exercices, vous devez utiliser l’environnement Eclipse (http://www.eclipse.org/ou IntelliJ IDEA (www.jetbrains.com/idea/), ils sont intallés dans ''/usr/local/''. Vous devez écrire la javadoc minimale (http://java.sun.com/j2se/javadoc/writingdoccomments/) au fur et à mesure de l’avancement.+Pour tous les exercices, vous devez utiliser l’environnement IntelliJ IDEA (www.jetbrains.com/idea/) ()ou Eclipse (http://www.eclipse.org/). Ils sont installés dans ''/usr/local/''. Vous devez écrire la javadoc minimale (http://java.sun.com/j2se/javadoc/writingdoccomments/) au fur et à mesure de l’avancement.
  
-La compilation et la génération de la documentation et des artefacts (fichier jar) seront réalisés avec Maven +La compilation et la génération de la documentation et des artefacts (fichier jar) seront réalisés avec Maven
 +Pensez à configurer le proxy pour maven [[maven:maven_and_proxies]].  
 + 
 +** Pour vos inspirez regarder le projet https://github.com/emmanuelbruno/cours-java-librarymanager-parent ** 
 + 
 +Attention, c'est un projet multimodule : 
 + git clone --recurse-submodules git@github.com:emmanuelbruno/cours-java-librarymanager-parent.git cours-java-librarymanager 
 + 
 ===== Au fur et à mesure du développement ===== ===== Au fur et à mesure du développement =====
  
 ==== Livraison du résultat ==== ==== Livraison du résultat ====
-Fabriquer automatiquement avec maven un fichier ''<nom de votre projet>.jar'' qui contient toutes les classes nécessaires. Exécuter l’application à partir de ce fichier.+Fabriquer automatiquement avec maven un fichier jar exécutable qui contient toutes les classes nécessaires. Exécuter l’application à partir de ce fichier.
  
 ==== Gestion des log ==== ==== Gestion des log ====
-(Après une présentation rapide de log4j) +Modifier vos classes pour que les logs sont gérés proprement à l’aide du Logger du jdk.
-En utilisant soit Log4J soit le système du jdk +
-– http://logging.apache.org/log4j/ +
-Modifier vos classes pour que les logs sont gérés proprement à l’aide de la classe log4j.+
  
 ==== Test de vos classes avec JUnit ==== ==== Test de vos classes avec JUnit ====
- (Après une présentation rapide de Junit)+(Après une présentation rapide de Junit)
 Mettez en place des tests unitaires au fur et à mesure du développement en utilisant Junit (http://junit.sourceforge.net/) Mettez en place des tests unitaires au fur et à mesure du développement en utilisant Junit (http://junit.sourceforge.net/)
  
Ligne 39: Ligne 42:
 ==== Constructeurs, ''toString'' et égalité ==== ==== Constructeurs, ''toString'' et égalité ====
 Ajouter des constructeurs et mettez en place les méthodes bases d'égalité et de comparaison (''equals'', ''hascode'' et l'interface ''Comparable''). En utilisant, les constructeurs modifier les classes précédentes pour que la méthode ''toString()'' des classes ''Vache'' et ''Aigle'', affiche : ''Je m’appelle Geronimo et je suis un animal'', ''je suis un oiseau, je suis un aigle Je m’appelle Marguerite'' et ''je suis un animal, je suis un mammifère, je suis une vache''. Est-ce cohérent de pouvoir créer des instances d''Animal'' ? Ajouter des constructeurs et mettez en place les méthodes bases d'égalité et de comparaison (''equals'', ''hascode'' et l'interface ''Comparable''). En utilisant, les constructeurs modifier les classes précédentes pour que la méthode ''toString()'' des classes ''Vache'' et ''Aigle'', affiche : ''Je m’appelle Geronimo et je suis un animal'', ''je suis un oiseau, je suis un aigle Je m’appelle Marguerite'' et ''je suis un animal, je suis un mammifère, je suis une vache''. Est-ce cohérent de pouvoir créer des instances d''Animal'' ?
 +
 +Remplacer les constructeurs par des factory ou des builder pattern. 
  
 ==== Collections ==== ==== Collections ====
Ligne 79: Ligne 84:
 un objet ''Zoo'' construit à partir des valeurs trouvées dans un fichier dont le nom est passé un objet ''Zoo'' construit à partir des valeurs trouvées dans un fichier dont le nom est passé
 en paramètre. en paramètre.
- 
  
 ===== Persistance avec JPA ===== ===== Persistance avec JPA =====
Ligne 86: Ligne 90:
 Pour l'utilisation de JPA/Hibernate avec Intellij vous pouvez suivre : Pour l'utilisation de JPA/Hibernate avec Intellij vous pouvez suivre :
 http://www.jetbrains.com/idea/features/jpa_hibernate.html http://www.jetbrains.com/idea/features/jpa_hibernate.html
 +
 ===== IHM ===== ===== IHM =====
 Créer une petite IHM swing permettant d’ajouter des vaches ou des aigles à la faune en Créer une petite IHM swing permettant d’ajouter des vaches ou des aigles à la faune en
 précisant leur nom. A chaque ajout, l’affichage de la faune devra être mis à jour. précisant leur nom. A chaque ajout, l’affichage de la faune devra être mis à jour.
 +Le projet exemple fourni un exemple de mise en place de MVC avec swing.
  
-{{tag>D35 TP java redmine git maven}} +{{tag>D35 TP java git maven}}
- +
----- dataentry page ---- +
-type                 : TP +
-enseignement_tags    : D35 +
-technologie_tags    : Maven, Java, Redmine, git +
-theme_tags          : Build Tool +
----- +
 ---- struct data ---- ---- struct data ----
 +metadata.level       : 
 +metadata.Type        : TP
 +metadata.Nom         : 
 +metadata.Enseignements : D35
 +metadata.Promotions  : M2
 +metadata.Technologies : Maven, Java, JPA, Git
 +metadata.Thèmes     : Build Tool
 +metadata.Description : 
 ---- ----