Topic 21
■■■
Sample Application in Detail
In Chapter 3, we presented you with an architectural overview of the sample application for this topic,
including the layered application architecture, main features, and screenshots of the completed
application. Then, in Chapter 12, we discussed a few main topics with regard to designing and
implementing Spring applications, with some reference to the sample application, too. As we have
gone through each chapter, we covered the main relationships between the features and discussed
their adoption in the sample application.
In this chapter, we will discuss the details of the sample application, called SpringBlog, that was
developed for this topic. The objective is to elaborate on the details of the application design and
explain the implementation of the main features that were discussed within each relevant chapter,
including how they work together in a complete JEE application. Specifically, in this chapter, we will
look at the following:
Project setup: We will discuss how to set up the project and STS so that you can
·
build and get the sample application up and running on your machine.
Instructions are provided on how to use Spring Framework's bean definition
profiles feature to switch the backend RDBMS (between MySQL and H2) and
service layer implementations (between Hibernate JPA 2 and MyBatis).
Application design: We will discuss the main design elements of the application.
·
The data model, domain object model, and UML model of the major use cases will
be covered.
Implementation details: We will discuss how the main features of the sample
·
application are implemented in detail. Topics include using AOP for the obscenity
filter, creating a service layer using Hibernate and JPA 2, implementing validation
with conversion and formatting, creating the frontend, using RESTful-WS,
creating batch jobs, scheduling a job for purging audit data, and so on.
Although all the SpringBlog features mentioned in the topic have been incorporated into the
implemented source code, some of those features are still under development (for example, using the
MyBatis implementation to handle comment posts, file uploads, and so on). We will update the
sample application's source code periodically to implement these features, and that code will be
hosted in a repository on GitHub. Also, as comments are received from readers, existing features may
be enhanced and new features added. So, kindly check out the source code repository on a regular
basis for any changes.
The following are the features within the sample application that are still under development at the
time of writing:
MyBatis implementations including entry updates, comment posts, file uploads,
·
and maintaining entity versions
Search WWH :
Custom Search
Previous Page
Spring Framework 3 Topic Index
Next Page
Spring Framework 3 Bookmarks
Home