该仓库经春季团队的批准,是春季项目/春季春季的叉子。它允许春季社区维护具有普通的旧弹簧框架配置和3层体系结构(IE演示 - >服务 - >存储库)的Petclinic版本。现在,“规范”实现基于春季启动,百里角和面向骨料的域。
请参阅此处的演示文稿(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,需要使用Main Pom.xml文件中定义的配置文件运行。
对于MySQL数据库,需要使用Main Pom.xml文件中定义的“ MySQL”配置文件运行。
./mvnw jetty:run-war -P MySQL
在此之前,最好检查pom.xml文件中的mySQL配置文件中定义的属性。
<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>
您可以使用适用于您的操作系统的任何安装程序,也可以使用Docker在本地启动MySQL:
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数据库,需要使用Main Pom.xml文件中定义的“ PostgreSQL”配置文件运行。
./mvnw jetty:run-war -P PostgreSQL
在此之前,最好检查pom.xml文件中的PostgreSQL配置文件中定义的属性。
<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>
您也可以使用适用于您的操作系统的任何安装程序或使用Docker的任何安装程序在本地启动PostgreSQL:
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
src/main/webapp/resources/resources/css中有一个petclinic.css 。它是由petclinic.scss源生成的,结合了引导库。如果您更改scss或升级Bootstrap,则需要使用Maven配置文件“ CSS”(即./mvnw generate-resources -P css重新编译CSS资源。
以下项目应安装在系统中:
git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
File -> Import -> Maven -> Existing Maven project
然后在命令行中构建./mvnw generate-resources ,或使用Eclipse Launcher(右键单击项目并Run As -> Maven install )来生成CSS。配置Jetty或Tomcat Web容器,然后部署spring-petclinic.war文件。
在主菜单中,选择File > Open ,然后选择petclinic pom.xml。单击Open按钮。
CSS文件是由Maven构建生成的。您可以在命令行中构建它们./mvnw generate-resources ,也可以右键单击spring-petclinic项目,然后Maven -> Generates sources and Update Folders 。
转到Run -> Edit Configuration然后配置Tomcat或Jetty Web容器。部署spring-petclinic.war文件。通过单击Run图标来运行应用程序。
访问http:// localhost:8080在您的浏览器中。
以下项目应安装在系统中:
| Java配置 | |
|---|---|
| Java配置分支 | Petclinic默认使用XML配置。如果您想改用Java Config,则这里有一个Java配置分支 |
| 在“ Web”层中 | 文件 |
|---|---|
| 春季MVC -XML集成 | mvc-view-config.xml |
| 春季MVC- contentNegotiatingViewResolver | mvc-view-config.xml |
| JSP自定义标签 | Web-Inf/tags,CreateOrupDateWownerForm.jsp |
| JavaScript依赖性 | JavaScript库在pom.xml中称为WebJars |
| 静态资源配置 | 春季配置中的资源映射 |
| 静态资源使用 | htmlheader.tag,footer.tag |
| 胸腺 | 在2016年末,原始的春季佩特克林尼斯(Petclinic)从JSP转移到百里叶。 |
| “服务”和“存储库”层 | 文件 |
|---|---|
| 交易 | Business-config.xml,诊所维奇西姆普 |
| 缓存 | tools-config.xml,诊所维奇西姆普 |
| 豆配置文件 | Business-config.xml,诊所维奇切德斯特郡,java,petclinicinitializer.java |
| JDBC | Business-Config.xml,JDBC文件夹 |
| JPA | Business-Config.xml,JPA文件夹 |
| 春季数据JPA | business-config.xml,springdatajpa文件夹 |
此应用程序使用Google臂臂将优化的Docker映像构建到Docker Hub存储库中。 POM.xml已配置为以springcommunity/spring-framework-petclinic图像名称发布图像。
JIB通过将干扰码头作为基本图像来容忍这个战争项目。
构建并将Petclinic的容器图像推向Docker Hub注册表:
mvn jib:build
主弹簧项目Github组织中的春季petclinic Master分支是“典型”实现,目前基于Spring Boot和Thymeleaf。
这个春季框架 - 挑剔的项目是在特殊的github org:spring-petclinic中托管的几个叉子之一。如果您对可用于实施宠物诊所的不同技术堆栈有特别的兴趣,请加入那里的社区。
在春季petclinic应用程序上工作的最佳部分之一是,我们有机会直接与许多开源项目联系。我们发现了一些错误/建议的改进,例如春季,春季数据,豆类验证甚至日食!在许多情况下,它们在短短几天内就已固定/实施。这是其中的清单:
| 姓名 | 问题 |
|---|---|
| Spring JDBC:简化命名Parameterjdbctemplate的用法 | SPR-10256和SPR-10257 |
| Bean验证 /休眠验证器:简化Maven依赖性和向后兼容性 | HV-790和HV-792 |
| 春季数据:使用JPQL查询时提供更大的灵活性 | DataJPA-292 |
| 蒲公英:改善蒲公英的码头式支撑 | 113 |
问题跟踪器是用于错误报告,功能请求和提交拉的请求的首选频道。
对于拉动请求,编辑器首选项可在编辑器配置中可用,以便在常见的文本编辑器中轻松使用。在http://editorconfig.org上阅读更多并下载插件。