Spring Reference Applications
This page is designed to contain a listing of applications powered by Spring. By doing this, I hope to allow other developers to easily
find solutions for working with Spring. If you have an open-source sample app that others can look at, let me know.
This is just a rudimentary list for a few apps I know of off the top of my head. I'll add more as I have time to sit down and do so.
AppFuse - a bootstrapping application for starting your Java-based web applications. Includes support for Hibernate, iBATIS, Struts, Spring MVC, WebWork, JSF and Tapestry. AppFuse's mailing list, forums and downloads are at http://appfuse.org. Tutorials are also available. Struts Resume is a reference implementation of an AppFuse 1.4 application.
- Better Petshop Project - a version of the Tapestry Petshop that uses Spring and Hibernate.
- Equinox (a.k.a. AppFuse Light) - a simple CRUD app created as part of Spring Live. Uses SiteMesh, Spring and Hibernate by default. Versions 1.2+ supports all of the persistence frameworks discussed in Chapter 7 (Hibernate, iBATIS, JPOX, OJB, Spring JDBC) and all of the web frameworks discussed in Chapter 11 (Spring, Struts, JSF, WebWork and Tapestry). Download Chapter 2 (PDF) to see how to develop an application using Equinox. You can download the completed Struts-version here.
- iEat - uses Spring MVC and XSLT as the view technology. JAXB is used to render DOM Documents that are persisted via Hibernate (whose configuration is generated from the application's XML schema via HyperJAXB). The application design thus begins at the data model level with XML Schema definitions but you don't have to generate DOM objects yourself in application code as JAXB will generate them for you.
- Pizza Demo - a sample app that uses Spring with Hibernate and shows wizards using Spring's MVC framework. From Craig's post: I'm using Maven to build it, so you'll need to download and install Maven to actually build the code. I'm using Hypersonic DB, but Maven will download that for you. But you will need to download the Pizza DB (at the same URL as above). Finally, as I also mentioned, I designed the code in a way that best demonstrates my points in the talk and not necessarily how I would've designed it in the real world.
- SimpleOA - an open source project for e-form sign off. Uses Spring, Tapestry, Hibernate and OSWorkflow. Project Summary (in Chinese) and
- ONess - an Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Supplier Relationship Management (SRM) and Inventory Management solution for small to midsized business. Uses Acegi Security, Hibernate, AspectJ, Struts, JSTL, Tiles,
StrutsTestCase, DBUnit, jMock and some great ideas from AppFuse. Everything managed with Maven.
Trails - a domain driven development framework inspired by others that have gone before it such as Rails and Naked Objects. Its goal is to make developing database driven web applications in
Java radically easier, faster, and more fun. The basic approach is to
eliminate as many of the steps as possible. Developed using Tapestry, Spring and Hibernate. You can read my thoughts on raibledesigns.com.
- TODO: List all of the sample apps that come with Spring and what they provide examples of.