تمت الموافقة عليه من قبل فريق الربيع ، هذا الريبو هو شوكة من المشاريع الربيعية/الربيع التربوي. يسمح لمجتمع الربيع بالحفاظ على نسخة بيتيكلينيك مع تكوين إطار عمل ربيعي قديم وبنية من 3 طبقات (أي عرض تقديمي-> خدمة-> مستودع). يعتمد تنفيذ "الكنسي" الآن على حذاء الربيع ، و thymeleaf والمجال الموجهة نحو الإجمالي.
انظر العرض التقديمي هنا (تحديث 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
يمكنك بعد ذلك الوصول إلى petclinic هنا: http: // localhost: 8080/
متتبع المشكلات لدينا متاح هنا: https://github.com/spring-petclinic/spring-framework-petclinic/issues
في التكوين الافتراضي ، يستخدم PetClinic قاعدة بيانات في الذاكرة (H2) والتي يتم ملؤها عند بدء التشغيل مع البيانات.
يتم توفير إعدادات مماثلة لـ MySQL و postgreSQL في حالة حاجة إلى تكوين قاعدة بيانات ثابتة. لتشغيل Petclinic محليًا باستخدام قاعدة بيانات مستمرة ، هناك حاجة لتشغيلها مع ملف تعريف محدد في ملف POM.xml الرئيسي.
بالنسبة لقاعدة بيانات MySQL ، هناك حاجة لتشغيل مع ملف تعريف "MySQL" المحدد في ملف POM.xml الرئيسي.
./mvnw jetty:run-war -P MySQL
قبل القيام بذلك ، سيكون من الجيد التحقق من الخصائص المحددة في ملف تعريف mySQL داخل ملف 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>
يمكنك بدء MySQL محليًا مع أي شيء يعمل على نظام التشغيل الخاص بك ، أو مع 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
بالنسبة لقاعدة بيانات postgreSQL ، هناك حاجة لتشغيلها مع ملف تعريف "postgreSQL" المحدد في ملف POM.xml الرئيسي.
./mvnw jetty:run-war -P PostgreSQL
قبل القيام بذلك ، سيكون من الجيد التحقق من الخصائص المحددة في ملف تعريف postgresql داخل ملف 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>
يمكنك أيضًا البدء في PostgreSQL محليًا مع أي شيء يعمل مع نظام التشغيل الخاص بك ، أو مع Docker:
docker run --name postgres-petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 -d postgres:9.6.0
تحتوي طبقة الثبات على 3 تطبيقات متاحة: JPA (افتراضي) و JDBC و SPRING DATA JPA. يمكن تغيير تطبيق JPA الافتراضي باستخدام ملف تعريف Spring: jdbc و spring-data-jpa و jpa .
على سبيل المثال ، يمكنك استخدام خيارات -Dspring.profiles.active=jdbc VM لبدء التطبيق مع تطبيق JDBC.
./mvnw jetty:run-war -Dspring.profiles.active=jdbc
هناك petclinic.css في src/main/webapp/resources/resources/css . تم إنشاؤه من مصدر petclinic.scss ، جنبا إلى جنب مع مكتبة bootstrap. إذا قمت بإجراء تغييرات على scss ، أو ترقية Bootstrap ، فستحتاج إلى إعادة تجميع موارد CSS باستخدام ملف تعريف Maven "CSS" ، أي ./mvnw generate-resources -P css
يجب تثبيت العناصر التالية في نظامك:
git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
File -> Import -> Maven -> Existing Maven project
Run As -> Maven install إما بناء على سطر الأوامر ./mvnw generate-resources قم بتكوين رصيف أو حاوية ويب tomcat ثم قم بنشر ملف spring-petclinic.war .
في القائمة الرئيسية ، حدد File > Open وحدد pom.xml petclinic. انقر على الزر Open .
يتم إنشاء ملفات CSS من Build Maven. spring-petclinic Maven -> Generates sources and Update Folders إنشاءها على سطر الأوامر ./mvnw generate-resources
انتقل إلى Run -> Edit Configuration ثم قم بتكوين tomcat أو حاوية ويب رصيف. نشر ملف spring-petclinic.war . قم بتشغيل التطبيق بالنقر فوق أيقونة Run .
تفضل بزيارة http: // localhost: 8080 في متصفحك.
يجب تثبيت العناصر التالية في نظامك:
| تكوين جافا | |
|---|---|
| فرع تكوين جافا | يستخدم Petclinic تكوين XML افتراضيًا. في حال كنت ترغب في استخدام Java Config بدلاً من ذلك ، هناك فرع تكوين Java متاح هنا |
| داخل طبقة "الويب" | الملفات |
|---|---|
| Spring MVC - تكامل XML | MVC-View-Config.xml |
| Spring MVC - ContentNegotiAtingViewResolver | MVC-View-Config.xml |
| JSP العلامات المخصصة | Web-INF/TAGS ، CROEFORUPDATEOWNERFORM.JSP |
| تبعيات JavaScript | تم الإعلان عن مكتبات JavaScript كـ WebJars في pom.xml |
| تكوين الموارد الثابتة | رسم خرائط للموارد في تكوين الربيع |
| استخدام الموارد الثابتة | htmlheader.tag ، تذييل |
| الغدة الدرقية | في أواخر عام 2016 ، انتقل Spring Petclinic الأصلي من JSP إلى Thymeleaf. |
| طبقات "الخدمة" و "المستودع" | الملفات |
|---|---|
| المعاملات | Business-Config.xml ، ClinicserviceImpl.java |
| مخبأ | أدوات config.xml ، ClinicserviceImpl.java |
| ملامح الفول | Business-Config.xml ، ClinicserviceJdbctests.java ، petclinicinitializer.java |
| JDBC | Business-Config.xml ، JDBC Folder |
| JPA | Business-config.xml ، JPA Folder |
| بيانات الربيع JPA | Business-config.xml ، Flogdajpa SPRINGDATAJPA |
يستخدم هذا التطبيق Google JIB لإنشاء صورة Docker محسنة في مستودع Docker Hub. تم تكوين pom.xml لنشر الصورة باستخدام اسم صورة springcommunity/spring-framework-petclinic .
قم بتوصيل حاوية مشروع الحرب هذا باستخدام رصيف التوزيع كصورة أساسية.
بناء ودفع صورة الحاوية من Petclinic إلى سجل Docker Hub:
mvn jib:build
إن فرع الربيع الماجستير في الربيع في المشروع الربيعي الرئيسي Github org هو التنفيذ "الكنسي" ، الذي يعتمد حاليًا على Boot Boot و Thymeleaf.
يعد مشروع الربيع الفني هذا-Petclinic أحد الشوكات العديدة المستضافة في Github org: Spring-Petclinic. إذا كان لديك مصلحة خاصة في مكدس تقني مختلف يمكن استخدامه لتنفيذ عيادة الحيوانات الأليفة ، فيرجى الانضمام إلى المجتمع هناك.
واحدة من أفضل الأجزاء حول العمل في تطبيق الربيع Petclinic هو أن لدينا الفرصة للعمل على اتصال مباشر مع العديد من المشاريع مفتوحة المصدر. لقد وجدنا بعض الأخطاء/التحسينات المقترحة على مواضيع مختلفة مثل الربيع وبيانات الربيع والتحقق من صحة الفاصوليا وحتى الكسوف! في كثير من الحالات ، تم إصلاحها/تنفيذها في غضون أيام قليلة. هذه قائمة منهم:
| اسم | مشكلة |
|---|---|
| Spring JDBC: تبسيط استخدام nameparameterjdbctemplate | SPR-10256 و SPR-10257 |
| التحقق من صحة الفاصوليا / صحة السبات: تبسيط تبعيات Maven والتوافق الخلفي | HV-790 و HV-792 |
| بيانات الربيع: توفير المزيد من المرونة عند العمل مع استعلامات JPQL | DataJPA-292 |
| الهندباء: يحسن التصفية لدعم الرصيف | 113 |
تعقب المشكلات هو القناة المفضلة لتقارير الأخطاء وطلبات الميزات وتقديم طلبات السحب.
لطلبات السحب ، تتوفر تفضيلات المحرر في تكوين المحرر لسهولة الاستخدام في محرري النص المشترك. اقرأ المزيد وقم بتنزيل الإضافات على http://editorconfig.org.