Welcome
Welcome to 'Spring In-depth, In Context'. 'Spring In-depth, In Context' is a free online book for the Spring Framework version 2.5.x. It is a work in progress, but there is already a lot of material. It currently has a very good introduction to Spring, basic bean creation using XML and Annotations. Although the Annotations chapter isn't 100% complete. There are also partially complete chapters on 'Resources & ApplicationContexts' and AOP. Other chapters will be added as they are finished.
'Spring In-depth, In Context' is copyrighted with all rights reserved. Please do not mirror or copy the site. Thank you.
Note
- The 0.12 version of the book is posted and the examples are available at http://svn.springbyexample.org/springindepth/trunk/. This release has added a few sections on GWT & Dojo Cometd integration on the client and Spring Bayeux integration on the server. There was also the beginning of a chapter on the Spring dm Server added. Both of new chapters come with examples in the Subversion repository under the Apache License, version 2.0.
- The AOP unit tests are failing from Maven, but work in Eclipse. Also the parent/child relationship with the core examples isn't configured correctly since the examples were refactored into sections. I will correct these as soon as possible. -- 12/2/2008
- Draft inidicates that this is a first draft of a chapter. It is technically accurate, but not in the style or state of the final revision.
Spring Examples
Spring by Example is a good resource for Spring examples. It is a collaborative site for posting Spring examples and it also has reusable libraries.
Recent Examples
| Topic | Description |
|---|---|
| Simple Spring Web Services | A very simple example of using Spring Web Services 1.5.x with JAXB for marshalling and unmarshalling requests. A JAXB plugin for Maven is used to generate the JAXB beans from and XSD and the XSD is reused to generate a WSDL. The response from the server sends a person list, but could easily be modified to retrieve person based on an ID. |
| Simple GWT Spring Webapp | This enhances the Spring Web Flow Subflow Webapp by using GWT (Google Web Toolkit) version 1.5-RC1 for a GWT table widget on the search page. The example also uses Spring JS to submit the person form by using Spring.remoting.submitForm to only update the content div. Dynamic Tiles 2 Spring MVC Module (version 1.1) has been updated to support rendering Tiles fragments like AjaxTilesView and FlowAjaxTilesView in Spring JS and Spring Web Flow. |
| Spring Web Flow Subflow Webapp | A Spring Web Flow 2.0 example using a flow to create and edit a Person and a subflow to create and edit a Person's Addresses. A Spring MVC annotation-based controller still handles search and deleting Person records. The example is built on Simple Spring Web Flow Webapp which can be referred to if necessary. |
| Simple Spring Web Flow Webapp | A very simple Spring Web Flow 2.0 example using a flow to create and edit a Person. A Spring MVC annotation-based controller still handles search and deleting records. The example is built on Simple Spring MVC Form Annotation Configuration Webapp and Simple Spring Security Webapp which can be referred to for better explanations of Spring MVC Annotations and Spring Security. |
| Simple Spring Security Webapp | Simple Spring Security 2.0 example securing a webapp based on the Simple Spring MVC Form Annotation Configuration Webapp. All URLs are restricted to valid users except the login, logoff, and style sheet. Only admins have the ability to delete a record. A non-admin doesn't see the link on the search page to delete a record and also calling the delete method on the DAO is restricted to admins. |
| Basic Webapp Internationalization | Creating a basic webapp that will handle UTF-8 characters from form input and also have internationalized messages. |
| Simple Spring MVC Form Annotation Configuration Webapp | Simple Spring MVC form using annotation-based configuration. The webapp has basic create, update, delete, and search functionality for a person form. The form basically just has a hidden id (primary key), first name, and last name fields. Tiles is implemented with Dynamic Tiles 2 Spring MVC Module, Hibernate, and internationalized messages are configured, but this example will focus on explaining the MVC configuration. |