Understanding the Spring Petclinic application with a few diagrams
Running petclinic locally
git clone https://github.com/spring-petclinic/spring-petclinic-angularjs.git cd spring-petclinic-angularjs ./mvnw clean install cd spring-petclinic-server ../mvnw spring-boot:run
You can then access petclinic here: http://localhost:8080/
In case you find a bug/suggested improvement for Spring Petclinic
Our issue tracker is available here: https://github.com/spring-petclinic/spring-petclinic-angularjs/issues
In its default configuration, Petclinic uses an in-memory database (HSQLDB) which gets populated at startup with data. A similar setup is provided for MySql in case a persistent database configuration is needed. Note that whenever the database type is changed, the data-access.properties file needs to be updated and the mysql-connector-java artifact from the pom.xml needs to be uncommented.
You may start a MySql database with docker:
docker run -e MYSQL_ROOT_PASSWORD=petclinic -e MYSQL_DATABASE=petclinic -p 3306:3306 mysql:5.7.8
Working with Petclinic in Eclipse/STS
The following items should be installed in your system:
- Maven 3 (http://www.sonatype.com/books/mvnref-book/reference/installation.html)
- git command line tool (https://help.github.com/articles/set-up-git)
- Eclipse with the m2e plugin (m2e is installed by default when using the STS (http://www.springsource.org/sts) distribution of Eclipse)
Note: when m2e is available, there is an m2 icon in Help -> About dialog. If m2e is not there, just follow the install process here: http://eclipse.org/m2e/download/
- In the command line
git clone https://github.com/spring-projects/spring-petclinic.git
- Inside Eclipse
File -> Import -> Maven -> Existing Maven project
Active the dev Spring profile
In development mode, we recommand you yo use the
dev Spring profile.
Just add the following VM option:
All static resources changes will be monitored by the embedded LiveReload server of Spring Boot Devtools. See application-dev.properties for details.
Compared to the standard Petclinic based on JSP pages, this SpringBoot AngularJS Petclinic is splitted in 2 modules - a client module and a server module:
- spring-petclinic-client : static resources (images, fonts, style, angular JS code) packaged as a webjar.
- spring-petclinic-server : Spring MVC REST API and an index.html template
Looking for something in particular?
|Spring Boot Configuration||Files|
|The Main Class||PetClinicApplication.java|
|Common properties file||application.properties|
|Development properties file||application-dev.properties|
|Production properties file||application-prod.properties|
|Caching: Cache with EhCache||CacheConfig.java|
|Homepage||Map root context to the index.html template: WebConfig.java|
The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests.