A full-blown, functional, tested Spring 3.2 reference application with JPA persistence, REST Level-3 resources, asynchronous processing, jobs, security, unit, mock, integration, functional, rest client stubs, and performance tests, and many best practices I gathered over several years working in mvc / spring / grails web apps.
mvn clean package
mvn jetty:run
- Immutable Domain Model with Builder Pattern
- Jackson JSON Annotations
- JPA Annotations
- Unit Tests
- REST Errors and Exception Resolver
- HATEOAS (REST Level 3)
- Transaction Management & Connection Pooling
- JPA / Hibernate
- Http ETag management, HTTP Caching & Resource optimistic locking
- Asynchronous processing: Request-Acknowledge-Poll Pattern (Fork-Join/Future implemention on REST)
- Jobs
- Simplified caching using Spring’s new @Cacheable / Eh-Cache
- Streamlined configuration for web, persistence, rest, spring, and properties
- Unit Testing (JUnit, Mockito)
- Integration Testing (Spring Test, MVC Test)
- Spring 3.2, JPA 2, Hibernate 4.1
- JSP, JQuery, Twitter Bootstrap 2.2
- H2 db (soon, MongoDb?)
- JUnit, Mockito, Spring Test, Hamcrest, JsonPath,
- Google Guava, Joda DateTime, Logback/Slf4j, Jackson Json