Springチームによって承認されたこのレポは、Spring-Projects/Spring-Petclinicのフォークです。これにより、Springコミュニティは、プレーンな古いSpringフレームワーク構成と3層アーキテクチャ(IEプレゼンテーション - >サービス - >リポジトリ)を使用して、PetClinicバージョンを維持できます。 「標準的な」実装は、Spring Boot、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データベースの場合、メイン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>
MySQLは、OSのインストーラーや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データベースの場合、メイン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>
また、OSまたはDockerで動作するインストーラーを使用して、PostgreSQLをローカルに開始することもできます。
docker run --name postgres-petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 -d postgres:9.6.0
Persistenceレイヤーには、JPA(デフォルト)、JDBC、およびスプリングデータJPAの3つの利用可能な実装があります。デフォルトの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があります。 Bootstrapライブラリと組み合わせて、 petclinic.scssソースから生成されました。 scssに変更を加えたり、ブートストラップをアップグレードしたりする場合、Mavenプロファイル「CSS」、IE ./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ランチャーを使用して(プロジェクトを右クリックして、 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 Config | |
|---|---|
| Java Config Branch | PetClinicは、デフォルトでXML構成を使用します。代わりにJava Configを使用したい場合は、こちらからJava構成ブランチがあります |
| 「Web」レイヤー内 | ファイル |
|---|---|
| スプリングMVC -XML統合 | MVC-View-config.xml |
| Spring MVC -ContentNegotiatingViewResolver | MVC-View-config.xml |
| JSPカスタムタグ | web-inf/tags、createorupdateownerform.jsp |
| JavaScript依存関係 | JavaScriptライブラリは、pom.xmlのWebjarsとして宣言されています |
| 静的リソース構成 | スプリング構成のリソースマッピング |
| 静的リソースの使用 | htmlheader.tag、footer.tag |
| 嫌う | 2016年後半、元の春のペットクリニックは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リポジトリに最適化されたDocker画像を構築します。 POM.xmlはspringcommunity/spring-framework-petclinic Image Nameで画像を公開するように構成されています。
JIBは、ディストリディスジェッティをベースイメージとして使用して、この戦争プロジェクトをコンテナ化します。
PetClinicのコンテナ画像をDocker Hubレジストリに構築して押します。
mvn jib:build
メインスプリングプロジェクトGithub組織のスプリングペットクリニックマスターブランチは、現在Spring BootとThymeleafに基づいた「標準的な」実装です。
このSpring-Framework-Petclinicプロジェクトは、特別なGithub組織でホストされているいくつかのフォークの1つであるSpring-Petclinicです。ペットクリニックの実装に使用できる別のテクノロジースタックに特別な関心がある場合は、そこでコミュニティに参加してください。
Spring Petclinicアプリケーションに取り組むことに関する最良の部分の1つは、多くのオープンソースプロジェクトと直接接触する機会があることです。 Spring、Spring Data、Bean Balidation、Eclipseなど、さまざまなトピックに関するバグ/提案された改善が見つかりました。多くの場合、数日で修正/実装されています。これらのリストは次のとおりです。
| 名前 | 問題 |
|---|---|
| Spring JDBC:AndameParameterjdbctemplateの使用法を簡素化します | SPR-10256およびSPR-10257 |
| Bean Validation / Hibernate Validator:Maven依存関係と後方互換性を簡素化する | HV-790およびHV-792 |
| スプリングデータ:JPQLクエリを使用するときに、より柔軟性を提供します | dataJPA-292 |
| Dandelion:桟橋のサポートのためにDandelionFilterを改善します | 113 |
問題トラッカーは、バグレポート、機能のリクエスト、およびプルリクエストの送信用の優先チャネルです。
プルリクエストの場合、エディターの設定は、一般的なテキストエディターで簡単に使用できるエディター構成で利用できます。続きを読んで、http://editorconfig.orgでプラグインをダウンロードしてください。