Spring 4 MVC Tutorial

Learn Spring MVC 4 in simple step-by-step way. This series of Spring MVC tutorial is based on new Spring framework version 4.

Spring MVC is a Model-View-Controller(MVC) web framework build on notion of a central Front Controller servlet (DispatherServlet) which is responsible for dispatching each request to appropriate handlers, resolving views and finally returning the response. Part of Spring Portfolio, it enjoys close integration with Spring IoC and hence all the benefits of spring loose coupling and other features.

SpringMVC_Architecture
Source : Spring Framework Reference

This Spring 4 MVC Tutorial series is based on different Spring versions available at the time of writing, ranging from Spring 4.0.6.RELEASE and above.


For Spring Boot, please refer to our Spring Boot tutorials.

For AngularJS, please refer to our AngularJS tutorials.

For Spring 4, please refer to our Spring 4 MVC tutorials.

For Spring 4 Security, please refer to our Spring 4 Security tutorials.

For Hibernate, please refer to our Hibernate 4 tutorials.

Spring 4 MVC Hands-on Examples

In this tutorial series, we will go through the common features of Spring 4 MVC exploring them with help of fully-working examples.

Spring MVC 4 Basics

Spring 4 MVC Hello World – XML Example
Simple HelloWorld web application using Spring MVC XML configuration.

Spring 4 MVC Hello World – Annotation (Java Config) Example
Simple HelloWorld Web application using Spring MVC Annotation-based configuration (Java Config).

Spring 4 MVC Form Validation and Resource Handling (using Annotations)
Example web application showing usage of Spring Form tags, Form validation using JSR303 validation, accessing static resources(CSS,js,images..).

Spring 4 MVC ContentNegotiatingViewResolver Example
Annotation based example web application, supporting multiple output formats (XML, JSON, XLS, PDF, HTML) for same data using different ViewResolvers.

Spring 4 MVC + Apache Tiles 3 Example
Provide a consistent look-n-feel to your Spring MVC App using Apache Tiles 3. Annotation based example showing an HTML5 based layout using Apache Tiles 3.

Spring MVC 4 + Rest Support

Spring 4 MVC REST Service Example using @RestController
Creating a simple JSON + XML service using Spring REST APIs

Spring 4 MVC RESTFul Web Services CRUD Example+RestTemplate
In this post we will write a CRUD Restful WebService using Spring MVC 4, and write a REST client with RestTemplate to consume those services. We will also test those services using external clients.

Access secured Spring MVC 4 REST API with RestTemplate using Basic Authentication
In this post we will access the secured RESTful webservices using Spring RestTemplate with Basic Authentication.

Access secured Spring MVC 4 REST API with RestTemplate using OAuth2
In this post we will access the secured RESTful webservices using Spring RestTemplate with OAuth2 protocol.

Spring MVC @RequestBody @ResponseBody Example, Custom HttpMessageConverter Example
Simple post explaining Spring MVC @RequestBody & @ResponseBody. Spring Inbuild HttpMessageConverters, and writing a Custom converter

Spring MVC 4 + AngularJS

Spring 4 MVC + AngularJS Example – Asynchronous server communication using $http
Integrate AngularJS with Spring MVC. Example post showing AngularJS based front-end, communicating asynchronously with Spring REST API based back-end using $http service.

Spring 4 MVC + AngularJS ngResource Example – Asynchronous server communication using $resource
Simplify your server communication using ngResource $resource service. Complete CRUD application, Integrating AngularJS with Spring MVC, focusing on asynchronous server communication using $resource service. Example post showing AngularJS based front-end, communicating with Spring REST API based back-end.

Spring 4 MVC + AngularJS Routing Example using ngRoute
Integrate AngularJS with Spring MVC, focusing on routing using ngRoute module. Example post showing AngularJS based front-end, communicating with Spring REST API based back-end.

Spring 4 MVC + AngularJS Routing Example using ui-router
Integrate AngularJS with Spring MVC, focusing on routing using ui-router module. UI-router is a flexible alternative to ngRoute, providing support for multiple named & nested views. Example post showing AngularJS based front-end, communicating with Spring REST API based back-end.

Access secured REST API with AngularJS and Basic Authentication
In this post we will access the secured RESTful webservices using AngularJS with Basic Authentication.

Spring MVC 4 + Hibernate + JPA2

Spring 4 MVC + Hibernate4 + MySQL + Maven integration example using annotations
Annotation based Hibernate and Spring Configuration example, creating a simple application showing usage of transaction management, JSR303 validation, CRUD operations on database, all with annotations.

Spring 4 MVC + Hibernate4 + MySQL + Maven integration—-Testing example using annotations
Testing above SpringMVC+Hibernate+MySQL+Maven example using TestNG, DBUnit, Mockito & Maven. Creating and Executing Unit+Integration tests and discussing each of them in detail.

Spring 4 MVC + Hibernate4 Many-to-many JSP Example using annotation with join table + MySQL + Maven
Annotation based Spring 4 MVC and Hibernate 4 Many to Many example, showing CRUD operations, managing Many-To-Many mapping all using View/JSP, Spring Converter example, showing usage of transaction management & JSR303 validation.

Spring 4 MVC + Spring Security 4 + Hibernate 4 Many-to-many JSP Example using annotation with join table + MySQL + Maven
Integrate Spring MVC 4 with Spring Security 4, Hibernate 4 Many to Many example, showing CRUD operations, managing Many-To-Many mapping on View/JSP, storing passwords in encrypted format using BCrypt, and providing RememberMe functionality using custom PersistentTokenRepository implementation with Hibernate HibernateTokenRepositoryImpl, Spring Converter example, showing usage of transaction management & JSR303 validation.

Spring 4 MVC + JPA2 + Hibernate4 Many-to-many JSP Example using annotation with join table + MySQL + Maven
Implement persistence layer of your Spring 4 MVC application using JPA2 with Hibernate as persistence provider. Annotation based Spring 4 MVC and JPA2 + Hibernate 4 Many to Many example, showing CRUD operations, managing Many-To-Many mapping all using View/JSP, Spring Converter example, showing usage of transaction management & JSR303 validation.

Spring MVC 4 File Upload/Download support

Spring MVC 4 FileUpload-Download Hibernate+MySQL Example
Upload and Download Files from database using Spring MVC 4, Hibernate & MySQL.

Spring MVC 4 File Upload Example using Commons fileupload
Implement File Upload using Spring MVC 4 CommonsMultipartResolver and Apache commons fileupload.

Spring MVC 4 File Upload Example using Servlet 3 MultiPartConfigElement
Spring MVC 4 File Upload Example using Spring StandardServletMultipartResolver and Servlet 3 API MultipartConfigElement.

Spring MVC 4 File Download Example
Spring MVC 4 File Download Example, downloads file internal to application as well external file from file system..

Spring MVC 4 applications integration using JMS

Spring 4 MVC + JMS + ActiveMQ annotation based Example
Integrate Spring MVC based applications using spring support for JMS with ActiveMQ as message broker.

References