spring-petclinic/readme.md

150 lines
6.1 KiB
Markdown
Raw Normal View History

# Spring PetClinic Sample Application
## What does it look like?
spring-petclinic has been deployed here on cloudfoundry: http://spring-petclinic.cloudfoundry.com/
## Understanding the Spring Petclinic application with a few diagrams
<a href="https://speakerdeck.com/michaelisvy/spring-petclinic-sample-application">See the presentation here</a>
## Running petclinic locally
```
2013-02-21 02:11:51 +00:00
git clone https://github.com/SpringSource/spring-petclinic.git
mvn tomcat7:run
```
2013-02-21 02:11:51 +00:00
You can then access petclinic here: http://localhost:9966/petclinic/
## Working with Petclinic in Eclipse/STS
### prerequisites
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/
### Steps:
1) In the command line
```
git clone https://github.com/SpringSource/spring-petclinic.git
```
2) Inside Eclipse
```
File -> Import -> Maven -> Existing Maven project
```
## Looking for something in particular?
<table>
<tr>
<th width="300px">Inside the 'Web' layer</th><th width="300px">Files</th>
</tr>
<tr>
<td>Spring MVC- Atom integration</td>
<td>
<a href="/SpringSource/spring-petclinic/blob/master/src/main/java/org/springframework/samples/petclinic/web/VetsAtomView.java">VetsAtomView.java</a>
<a href="/SpringSource/spring-petclinic/blob/master/src/main/resources/spring/mvc-view-config.xml">mvc-view-config.xml</a>
</td>
</tr>
<tr>
<td>Spring MVC - XML integration</td>
<td><a href="/SpringSource/spring-petclinic/blob/master/src/main/resources/spring/mvc-view-config.xml">mvc-view-config.xml</a></td>
</tr>
<tr>
<td>Spring MVC - ContentNegotiatingViewResolver</td>
<td><a href="/SpringSource/spring-petclinic/blob/master/src/main/resources/spring/mvc-view-config.xml">mvc-view-config.xml</a></td>
</tr>
<tr>
<td>Spring MVC Test Framework</td>
<td><a href="/SpringSource/spring-petclinic/blob/master/src/test/java/org/springframework/samples/petclinic/web/VisitsViewTest.java">VisitsViewTest.java</a></td>
</tr>
<tr>
<td>JSP custom tags</td>
<td>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/webapp/WEB-INF/tags">WEB-INF/tags</a>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/webapp/WEB-INF/jsp/owners/createOrUpdateOwnerForm.jsp">createOrUpdateOwnerForm.jsp</a></td>
</tr>
<tr>
<td>webjars</td>
<td>
<a href="/SpringSource/spring-petclinic/tree/master/pom.xml">webjars declaration inside pom.xml</a> <br />
<a href="/SpringSource/spring-petclinic/blob/master/src/main/resources/spring/mvc-core-config.xml#L24">Resource mapping in Spring configuration</a> <br />
<a href="/SpringSource/spring-petclinic/blob/master/src/main/webapp/WEB-INF/jsp/fragments/headTag.jsp#L12">sample usage in JSP</a></td>
</td>
</tr>
<tr>
<td>Dandelion-datatables</td>
<td>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/webapp/WEB-INF/jsp/owners/ownersList.jsp">ownersList.jsp</a>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/webapp/WEB-INF/jsp/vets/vetList.jsp">vetList.jsp</a>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/webapp/WEB-INF/web.xml">web.xml</a>
</td>
</tr>
<tr>
<td>Thymeleaf branch</td>
<td>
<a href="http://www.thymeleaf.org/petclinic.html">See here</a></td>
</tr>
</table>
<table>
<tr>
<th width="300px">'Service' and 'Repository' layers</th><th width="300px">Files</th>
</tr>
<tr>
<td>Transactions</td>
<td>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/resources/spring/business-config.xml">business-config.xml</a>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/java/org/springframework/samples/petclinic/service/ClinicServiceImpl.java">ClinicServiceImpl.java</a>
</td>
</tr>
<tr>
<td>Cache</td>
<td>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/resources/spring/tools-config.xml">tools-config.xml</a>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/java/org/springframework/samples/petclinic/service/ClinicServiceImpl.java">ClinicServiceImpl.java</a>
</td>
</tr>
<tr>
<td>Bean Profiles</td>
<td>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/resources/spring/business-config.xml">business-config.xml</a>
<a href="/SpringSource/spring-petclinic/tree/master/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceJdbcTests.java">ClinicServiceJdbcTests.java</a>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/webapp/WEB-INF/web.xml">web.xml</a>
</td>
</tr>
<tr>
<td>JdbcTemplate</td>
<td>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/resources/spring/business-config.xml">business-config.xml</a>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/java/org/springframework/samples/petclinic/repository/jdbc">jdbc folder</a></td>
</tr>
<tr>
<td>JPA</td>
<td>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/resources/spring/business-config.xml">business-config.xml</a>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/java/org/springframework/samples/petclinic/repository/jpa">jpa folder</a></td>
</tr>
<tr>
<td>Spring Data JPA</td>
<td>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/resources/spring/business-config.xml">business-config.xml</a>
<a href="/SpringSource/spring-petclinic/tree/master/src/main/java/org/springframework/samples/petclinic/repository/springdatajpa">springdatajpa folder</a></td>
</tr>
</table>
<table>
<tr>
<th width="300px">Others</th><th width="300px">Files</th>
</tr>
<tr>
<td>Gradle branch</td>
<td>
<a href="https://github.com/whimet/spring-petclinic">See here</a></td>
</tr>
</table>