ได้รับการอนุมัติจากทีมฤดูใบไม้ผลิ repo นี้เป็นส้อมของโครงการฤดูใบไม้ผลิ/ฤดูใบไม้ผลิ-Petclinic ช่วยให้ชุมชนฤดูใบไม้ผลิสามารถรักษารุ่น Petclinic ด้วย การกำหนดค่ากรอบสปริง เก่าแบบธรรมดาและมี สถาปัตยกรรม 3 ชั้น (เช่นการนำเสนอ-> บริการ-> ที่เก็บ) การใช้งาน "Canonical" นั้นขึ้นอยู่กับการบูตฤดูใบไม้ผลิ, 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 เริ่มต้นสามารถเปลี่ยนแปลงได้โดยใช้โปรไฟล์สปริง: 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
จากนั้นสร้างขึ้นบนบรรทัดคำสั่ง ./mvnw generate-resources หรือใช้ตัวเรียกใช้ Eclipse (คลิกขวาที่โครงการและ Run As -> Maven install ) เพื่อสร้าง CSS กำหนดค่า Jetty หรือ Tomcat Web Container จากนั้นปรับใช้ไฟล์ spring-petclinic.war
ในเมนูหลักเลือก File > Open และเลือก petclinic pom.xml คลิกที่ปุ่ม Open
ไฟล์ CSS ถูกสร้างขึ้นจาก Maven Build คุณสามารถสร้างพวกเขาในบรรทัดคำสั่ง ./mvnw generate-resources หรือคลิกขวาที่โครงการ spring-petclinic จากนั้น Maven -> Generates sources and Update Folders
ไปที่ Run -> Edit Configuration จากนั้นกำหนดค่า Tomcat หรือ Web Container ปรับใช้ไฟล์ spring-petclinic.war เรียกใช้แอปพลิเคชันโดยคลิกที่ไอคอน Run
เยี่ยมชม http: // localhost: 8080 ในเบราว์เซอร์ของคุณ
ควรติดตั้งรายการต่อไปนี้ในระบบของคุณ:
| การกำหนดค่า Java | |
|---|---|
| สาขาการกำหนดค่า Java | PetClinic ใช้การกำหนดค่า XML โดยค่าเริ่มต้น ในกรณีที่คุณต้องการใช้ Java Config แทนมีสาขา Java Config ที่มีอยู่ที่นี่ |
| ภายในชั้น 'เว็บ' | ไฟล์ |
|---|---|
| Spring MVC - การรวม XML | MVC-view-Config.xml |
| Spring MVC - ContentNegotiatiativeViewResolver | MVC-view-Config.xml |
| แท็กที่กำหนดเอง JSP | web-inf/tags, createorupdateownerform.jsp |
| การพึ่งพา JavaScript | ไลบรารี JavaScript ถูกประกาศว่าเป็น webjars ใน pom.xml |
| การกำหนดค่าทรัพยากรแบบคงที่ | การแมปทรัพยากรในการกำหนดค่าฤดูใบไม้ผลิ |
| การใช้ทรัพยากรแบบคงที่ | htmlheader.tag footer.tag |
| thymeleaf | ในช่วงปลายปี 2559 Spring Petclinic ดั้งเดิมได้ย้ายจาก JSP ไปยัง Thymeleaf |
| เลเยอร์ 'บริการ' และ 'ที่เก็บ' | ไฟล์ |
|---|---|
| การทำธุรกรรม | Business-config.xml, Clinicserviceimpl.java |
| แคช | Tools-config.xml, Clinicserviceimpl.java |
| โปรไฟล์ถั่ว | Business-config.xml, Clinicservicejdbctests.java, Petclinicinitializer.java |
| JDBC | โฟลเดอร์ Business-config.xml, JDBC |
| JPA | โฟลเดอร์ Business-config.xml, JPA |
| สปริงข้อมูล jpa | โฟลเดอร์ Business-config.xml, SpringDatajpa |
แอปพลิเคชันนี้ใช้ Google JIB เพื่อสร้างอิมเมจนักเทียบท่าที่ได้รับการปรับปรุงให้ดีที่สุดในที่เก็บ Docker Hub Hub POM.XML ได้รับการกำหนดค่าให้เผยแพร่ภาพด้วยชื่อภาพ springcommunity/spring-framework-petclinic
JIB containerizes โครงการสงครามนี้โดยใช้ Distroless Jetty เป็นภาพพื้นฐาน
สร้างและผลักดันภาพคอนเทนเนอร์ของ Petclinic ไปยัง Docker Hub Registry:
mvn jib:build
สาขาสปริง Petclinic Master ในโครงการหลักของฤดูใบไม้ผลิ GitHub org คือการใช้งาน "Canonical" ซึ่งปัจจุบันใช้สปริงบู๊ตและ Thymeleaf
โครงการสปริง-เฟรมเวิร์ก-Petclinic นี้เป็นหนึ่งในหลายส้อมที่โฮสต์ใน GitHub org พิเศษ: Spring-Petclinic หากคุณมีความสนใจเป็นพิเศษในสแต็คเทคโนโลยีที่แตกต่างกันซึ่งสามารถใช้ในการใช้งานคลินิกสัตว์เลี้ยงได้โปรดเข้าร่วมชุมชนที่นั่น
หนึ่งในส่วนที่ดีที่สุดเกี่ยวกับการทำงานกับแอปพลิเคชัน Spring Petclinic คือเรามีโอกาสทำงานติดต่อโดยตรงกับโครงการโอเพ่นซอร์สหลายโครงการ เราพบข้อบกพร่อง/การปรับปรุงที่แนะนำในหัวข้อต่าง ๆ เช่นฤดูใบไม้ผลิข้อมูลฤดูใบไม้ผลิการตรวจสอบความถูกต้องของถั่วและแม้แต่คราส! ในหลายกรณีพวกเขาได้รับการแก้ไข/นำไปใช้ในเวลาเพียงไม่กี่วัน นี่คือรายการของพวกเขา:
| ชื่อ | ปัญหา |
|---|---|
| Spring JDBC: ลดความซับซ้อนของการใช้งานของ parameterjdbctemplate | SPR-10256 และ SPR-10257 |
| การตรวจสอบความถูกต้องของถั่ว / hibernate ตรวจสอบ: ทำให้การพึ่งพา maven ง่ายขึ้นและความเข้ากันได้ย้อนหลัง | HV-790 และ HV-792 |
| ข้อมูลฤดูใบไม้ผลิ: ให้ความยืดหยุ่นมากขึ้นเมื่อทำงานกับคิวรี JPQL | datajpa-292 |
| Dandelion: ปรับปรุง Dandelionfilter สำหรับการสนับสนุนท่าเทียบเรือ | 113 |
ตัวติดตามปัญหาเป็นช่องทางที่ต้องการสำหรับรายงานข้อผิดพลาดคำขอคุณสมบัติและการส่งคำขอดึง
สำหรับคำขอดึงการตั้งค่าตัวแก้ไขมีอยู่ในตัวแก้ไขการกำหนดค่าเพื่อใช้งานง่ายในตัวแก้ไขข้อความทั่วไป อ่านเพิ่มเติมและดาวน์โหลดปลั๊กอินได้ที่ http://editorconfig.org