Disetujui oleh Tim Musim Semi, repo ini adalah garpu dari Spring-Projects/Spring-Petclinic. Hal ini memungkinkan komunitas Spring untuk mempertahankan versi petclinic dengan konfigurasi kerangka kerja musim semi tua yang polos dan dengan arsitektur 3 lapis (yaitu presentasi-> layanan-> repositori). Implementasi "kanonik" sekarang didasarkan pada boot musim semi, thymeleaf dan domain berorientasi agregat.
Lihat presentasi di sini (pembaruan 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
Anda kemudian dapat mengakses Petclinic di sini: http: // localhost: 8080/
Pelacak edisi kami tersedia di sini: https://github.com/spring-petclinic/spring-framework-petclinic/issues
Dalam konfigurasi defaultnya, Petclinic menggunakan database dalam memori (H2) yang diisi saat startup dengan data.
Pengaturan serupa disediakan untuk MySQL dan PostgreSQL jika diperlukan konfigurasi database yang persisten. Untuk menjalankan Petclinic secara lokal menggunakan database persisten, diperlukan untuk berjalan dengan profil yang ditentukan dalam file pom.xml utama.
Untuk database MySQL, diperlukan untuk berjalan dengan profil 'MySQL' yang didefinisikan dalam file pom.xml utama.
./mvnw jetty:run-war -P MySQL
Sebelum melakukan ini, akan lebih baik untuk memeriksa properti yang ditentukan dalam profil MySQL di dalam file 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>
Anda dapat memulai MySQL secara lokal dengan penginstal apa pun yang berfungsi untuk OS Anda, atau dengan 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
Untuk database PostgreSQL, diperlukan untuk berjalan dengan profil 'PostgreSQL' yang didefinisikan dalam file pom.xml utama.
./mvnw jetty:run-war -P PostgreSQL
Sebelum melakukan ini, akan lebih baik untuk memeriksa properti yang ditentukan dalam profil PostgreSQL di dalam file 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>
Anda juga dapat memulai PostgreSQL secara lokal dengan penginstal apa pun yang berfungsi untuk OS Anda, atau dengan Docker:
docker run --name postgres-petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 -d postgres:9.6.0
Lapisan Persistence memiliki 3 implementasi yang tersedia: JPA (default), JDBC dan Spring Data JPA. Implementasi JPA default dapat diubah dengan menggunakan Profil Musim Semi: jdbc , spring-data-jpa dan jpa .
Sebagai contoh, Anda dapat menggunakan opsi -Dspring.profiles.active=jdbc VM untuk memulai aplikasi dengan implementasi JDBC.
./mvnw jetty:run-war -Dspring.profiles.active=jdbc
Ada petclinic.css di src/main/webapp/resources/resources/css . Itu dihasilkan dari sumber petclinic.scss , dikombinasikan dengan pustaka bootstrap. Jika Anda melakukan perubahan pada scss , atau meningkatkan bootstrap, Anda perlu mengkompilasi ulang sumber daya CSS menggunakan profil Maven "CSS", yaitu ./mvnw generate-resources -P css .
Item berikut harus diinstal di sistem Anda:
git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
File -> Import -> Maven -> Existing Maven project
Kemudian bangun di baris perintah ./mvnw generate-resources atau menggunakan peluncur Eclipse (klik kanan pada proyek dan Run As -> Maven install ) untuk menghasilkan CSS. Konfigurasikan jetty atau wadah web tomcat kemudian gunakan file spring-petclinic.war .
Di menu utama, pilih File > Open dan pilih Petclinic Pom.xml. Klik tombol Open .
File CSS dihasilkan dari build Maven. Anda dapat membangunnya di baris perintah ./mvnw generate-resources atau klik kanan pada proyek spring-petclinic kemudian Maven -> Generates sources and Update Folders .
Buka Run -> Edit Configuration kemudian konfigurasikan tomcat atau wadah web dermaga. Menyebarkan file spring-petclinic.war . Jalankan aplikasi dengan mengklik ikon Run .
Kunjungi http: // localhost: 8080 di browser Anda.
Item berikut harus diinstal di sistem Anda:
| Java Config | |
|---|---|
| Cabang Java Config | Petclinic menggunakan konfigurasi XML secara default. Jika Anda ingin menggunakan java config sebagai gantinya, ada cabang java config yang tersedia di sini |
| Di dalam lapisan 'web' | File |
|---|---|
| Spring MVC - Integrasi XML | mvc-view-config.xml |
| Spring MVC - ContentNeGotiatingViewResolver | mvc-view-config.xml |
| Tag khusus JSP | Web-Inf/Tags, CreateOrupDateOwnForm.jsp |
| Dependensi JavaScript | Perpustakaan JavaScript dinyatakan sebagai webjar di pom.xml |
| Konfigurasi Sumber Daya Statis | Pemetaan Sumber Daya di Konfigurasi Musim Semi |
| Penggunaan Sumber Daya Statis | htmlheader.tag, footer.tag |
| Thymeleaf | Pada akhir 2016, Petclinic Spring asli telah pindah dari JSP ke Thymeleaf. |
| Lapisan 'layanan' dan 'repositori' | File |
|---|---|
| Transaksi | Business-config.xml, ClinicServiceImpl.java |
| Cache | Tools-config.xml, ClinicServiceImpl.java |
| Profil kacang | Business-config.xml, ClinicServiceJdBctests.java, Petclinicinitializer.java |
| Jdbc | Business-config.xml, folder JDBC |
| JPA | Business-config.xml, folder JPA |
| JPA data pegas | Business-config.xml, folder springdatajpa |
Aplikasi ini menggunakan Google Jib untuk membangun gambar Docker yang dioptimalkan ke dalam repositori Docker Hub. Pom.xml telah dikonfigurasi untuk menerbitkan gambar dengan nama gambar springcommunity/spring-framework-petclinic .
Jib memuat proyek perang ini dengan menggunakan dermaga tertutup sebagai gambar dasar.
Bangun dan dorong gambar kontainer Petclinic ke Docker Hub Registry:
mvn jib:build
Cabang Master Petclinic Musim Semi di Spring-Projects utama GitHub Org adalah implementasi "kanonik", yang saat ini didasarkan pada boot musim semi dan thymeleaf.
Proyek Spring-Framework-Petclinic ini adalah salah satu dari beberapa garpu yang di-host dalam org khusus gitub: Spring-Petclinic. Jika Anda memiliki minat khusus pada tumpukan teknologi yang berbeda yang dapat digunakan untuk mengimplementasikan klinik PET maka silakan bergabung dengan komunitas di sana.
Salah satu bagian terbaik tentang bekerja pada aplikasi Petclinic Spring adalah bahwa kami memiliki kesempatan untuk bekerja secara langsung dengan banyak proyek open source. Kami menemukan beberapa bug/perbaikan yang disarankan pada berbagai topik seperti Spring, Spring Data, Validasi Kacang dan bahkan Eclipse! Dalam banyak kasus, mereka telah diperbaiki/diimplementasikan hanya dalam beberapa hari. Berikut adalah daftar mereka:
| Nama | Masalah |
|---|---|
| Spring JDBC: Sederhanakan Penggunaan bernamaParameterjdbctemplate | SPR-10256 dan SPR-10257 |
| Validasi Kacang / Validator Hibernate: Menyederhanakan dependensi Maven dan kompatibilitas mundur | HV-790 dan HV-792 |
| Data pegas: memberikan lebih banyak fleksibilitas saat bekerja dengan kueri JPQL | DataJPA-292 |
| Dandelion: Meningkatkan Dandelionfilter untuk Dukungan Jetty | 113 |
Pelacak masalah adalah saluran yang disukai untuk laporan bug, permintaan fitur dan mengirimkan permintaan tarik.
Untuk permintaan tarik, preferensi editor tersedia di konfigurasi editor agar mudah digunakan pada editor teks umum. Baca lebih lanjut dan unduh plugin di http://editorconfig.org.