Approuvé par l'équipe du printemps, ce dépôt est une fourche des projets de printemps / printemps-petclinic. Il permet à la communauté de printemps de maintenir une version PetClinic avec une configuration de framework à ressort simple et avec une architecture à 3 couches (IE Présentation -> Service -> Référentiel). L'implémentation "canonique" est désormais basée sur le domaine de la démarrage de Spring, du thymeleaf et de l'agrégat.
Voir la présentation ici (mise à jour 2017)
git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
cd spring-framework-petclinic
./mvnw jetty:run-war
# For Windows : ./mvnw.cmd jetty:run-war
docker run -p 8080:8080 springcommunity/spring-framework-petclinic
Vous pouvez ensuite accéder à Petclinic ici: http: // localhost: 8080 /
Notre tracker de numéro est disponible ici: https://github.com/spring-petclinic/spring-framework-petclinic/issues
Dans sa configuration par défaut, PetClinic utilise une base de données en mémoire (H2) qui est remplie au démarrage avec des données.
Une configuration similaire est fournie pour MySQL et PostgreSQL au cas où une configuration de base de données persistante serait nécessaire. Pour exécuter PetClinic localement à l'aide de la base de données persistante, il est nécessaire d'exécuter avec un profil défini dans le fichier POM.xml principal.
Pour la base de données MySQL, il est nécessaire de s'exécuter avec le profil «MySQL» défini dans le fichier POM.xml principal.
./mvnw jetty:run-war -P MySQL
Avant cela, serait bien de vérifier les propriétés définies dans le profil MySQL dans le fichier pom.xml.
<properties>
<jpa.database>MYSQL</jpa.database>
<jdbc.driverClassName>com.mysql.cj.jdbc.Driver</jdbc.driverClassName>
<jdbc.url>jdbc:mysql://localhost:3306/petclinic?useUnicode=true</jdbc.url>
<jdbc.username>petclinic</jdbc.username>
<jdbc.password>petclinic</jdbc.password>
</properties>
Vous pouvez démarrer MySQL localement avec tout le programme d'installation fonctionne pour votre système d'exploitation, ou avec Docker:
docker run -e MYSQL_USER=petclinic -e MYSQL_PASSWORD=petclinic -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=petclinic -p 3306:3306 mysql:5.7.8
Pour la base de données PostgreSQL, il est nécessaire de s'exécuter avec le profil 'PostgreSQL "défini dans le fichier POM.xml principal.
./mvnw jetty:run-war -P PostgreSQL
Avant cela, serait bien de vérifier les propriétés définies dans le profil PostgreSQL dans le fichier pom.xml.
<properties>
<jpa.database>POSTGRESQL</jpa.database>
<jdbc.driverClassName>org.postgresql.Driver</jdbc.driverClassName>
<jdbc.url>jdbc:postgresql://localhost:5432/petclinic</jdbc.url>
<jdbc.username>postgres</jdbc.username>
<jdbc.password>petclinic</jdbc.password>
</properties>
Vous pouvez également démarrer PostgreSQL localement avec tout ce qui fonctionne pour votre système d'exploitation, ou avec Docker:
docker run --name postgres-petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 -d postgres:9.6.0
La couche de persistance a 3 implémentations disponibles: JPA (par défaut), JDBC et Spring Data JPA. L'implémentation JPA par défaut pourrait être modifiée en utilisant un profil Spring: jdbc , spring-data-jpa et jpa .
Par exemple, vous pouvez utiliser les options de VM -Dspring.profiles.active=jdbc pour démarrer l'application avec l'implémentation JDBC.
./mvnw jetty:run-war -Dspring.profiles.active=jdbc
Il existe un petclinic.css dans src/main/webapp/resources/resources/css . Il a été généré à partir de la source petclinic.scss , combinée avec la bibliothèque bootstrap. Si vous apportez des modifications au scss ou améliorez Bootstrap, vous devrez recompiler les ressources CSS à l'aide du profil Maven "CSS", c'est-à ./mvnw generate-resources -P css .
Les éléments suivants doivent être installés dans votre système:
git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
File -> Import -> Maven -> Existing Maven project
Ensuite, construisez sur la ligne de commande ./mvnw generate-resources ou en utilisant le lanceur Eclipse (cliquez avec le bouton droit sur le projet et Run As -> Maven install ) pour générer le CSS. Configurez une jetée ou un conteneur Web Tomcat puis déployez le fichier spring-petclinic.war .
Dans le menu principal, sélectionnez File > Open et sélectionnez le PetClinic Pom.xml. Cliquez sur le bouton Open .
Les fichiers CSS sont générés à partir de la construction Maven. Vous pouvez les construire sur la ligne de commande ./mvnw generate-resources ou cliquez avec le bouton droit sur le projet spring-petclinic puis Maven -> Generates sources and Update Folders .
Accédez à la Run -> Edit Configuration puis configurez un conteneur Web Tomcat ou Je jetée. Déployez le fichier spring-petclinic.war . Exécutez l'application en cliquant sur l'icône Run .
Visitez http: // localhost: 8080 dans votre navigateur.
Les éléments suivants doivent être installés dans votre système:
| Configuration java | |
|---|---|
| Branche de configuration java | PetClinic utilise la configuration XML par défaut. Dans le cas où vous souhaitez utiliser Java Config à la place, il existe une branche de configuration Java disponible ici |
| À l'intérieur de la couche «Web» | Fichiers |
|---|---|
| Spring MVC - Intégration XML | MVC-View-config.xml |
| Spring MVC - ContentNegotitingViewResolver | MVC-View-config.xml |
| Tags personnalisés JSP | Web-inff / tags, createorupdateownerform.jsp |
| Dépendances JavaScript | Les bibliothèques JavaScript sont déclarées webjars dans le pom.xml |
| Configuration de ressources statiques | Mappage des ressources dans la configuration du printemps |
| Utilisation des ressources statiques | htmlheader.tag, footter.tag |
| Thyleleaf | À la fin de 2016, le printemps Petclinic d'origine est passé de JSP à Thymeleaf. |
| Couches de «service» et de «référentiel» | Fichiers |
|---|---|
| Transactions | Business-Config.xml, ClinicServiceImpl.java |
| Cache | Tools-config.xml, clinicserviceimpl.java |
| Profils de haricots | Business-Config.xml, ClinicServicejdbCTests.java, Petclinicinitializer.java |
| JDBC | Business-Config.xml, dossier JDBC |
| JPA | Business-Config.xml, dossier JPA |
| Données de printemps JPA | Business-Config.xml, Springdatajpa Folder |
Cette application utilise Google Jib pour créer une image Docker optimisée dans le référentiel Docker Hub. Le pom.xml a été configuré pour publier l'image avec un nom d'image springcommunity/spring-framework-petclinic .
La jib conteste ce projet de guerre en utilisant la jetée distro comme une image de base.
Construisez et poussez l'image du conteneur de PetClinic au registre Docker Hub:
mvn jib:build
La branche maître de Spring Petclinic dans l'organisation principale de Spring-Projects GitHub est l'implémentation "canonique", actuellement basée sur le démarrage de printemps et le thymeleaf.
Ce projet Spring-Framework-Petclinic est l'une des nombreuses fourches hébergées dans un GitHub Org spécial: Spring-Petclinic. Si vous avez un intérêt particulier pour une pile technologique différente qui pourrait être utilisée pour mettre en œuvre la clinique pour animaux de compagnie, veuillez y rejoindre la communauté.
L'une des meilleures parties pour travailler sur l'application Spring Petclinic est que nous avons la possibilité de travailler en contact direct avec de nombreux projets open source. Nous avons trouvé des bogues / améliorations suggérées sur divers sujets tels que le printemps, les données de printemps, la validation des haricots et même l'éclipse! Dans de nombreux cas, ils ont été fixés / mis en œuvre en quelques jours seulement. Voici une liste d'entre eux:
| Nom | Problème |
|---|---|
| Spring JDBC: Simplifiez l'utilisation de NamedParameterJDBCTemplate | SPR-10256 et SPR-10257 |
| Validation de la validation des haricots / Hibernate: simplifiez les dépendances Maven et la compatibilité arrière | HV-790 et HV-792 |
| Données de printemps: offrez plus de flexibilité lorsque vous travaillez avec des requêtes JPQL | Datajpa-292 |
| Dandelion: Améliore le Dandelionfilter pour le support de jetée | 113 |
Le tracker de problèmes est le canal préféré pour les rapports de bogues, les demandes de fonctionnalités et la soumission des demandes de traction.
Pour les demandes de traction, les préférences de l'éditeur sont disponibles dans la configuration de l'éditeur pour une utilisation facile dans les éditeurs de texte communs. Lisez la suite et téléchargez des plugins sur http://editorconfig.org.