TriCom Technical Services

Spring MVC: a rare skill set

In developers, engineers, Java, programmers, Spring, Spring MVC on March 1, 2013 at 9:29 am

On and off over the last couple years, our clients have made requests for Java Developers experienced with Spring MVC. A particularly rare skill, most Java Developers have a background with Spring, but no experience with SpringMVC, making this particular skill is difficult to find in IT professionals.

Not originally included in Spring Framework, developers designed Spring MVC as a result of the poor web framework design in Jakarta Struts and other frameworks to solve the insufficient separation between the presentation and request handling layers, and between the request handling layer and the model.

Similar to Struts, Spring MVC is a request-based framework. The framework defines strategy interfaces for all of the responsibilities which must be handled by a modern request-based framework. The goal of each interface is to be simple and clear so that it’s easy for Spring MVC users to write their own implementations if they so choose. MVC paves the way for cleaner front end code. All interfaces are tightly coupled to the Servlet API which ensures the features of the Servlet API remain available to developers while offering a high abstraction framework to ease working with said API.

The following are the most important interfaces, each having their own important responsibility in the overall framework:

  • HandlerMapping: selecting objects that handle incoming requests (handlers) based on any attribute or condition internal or external to those requests
  • HandlerAdapter: execution of objects that handle incoming requests
  • Controller: comes between Model and View to manage incoming requests and redirect to proper response. It acts as a gate that directs the incoming information. It switches between going into model or view.
  • View: responsible for returning a response to the client. Some requests may go straight to view without going to the model part; others may go through all three.
  • ViewResolver: selecting a View based on a logical name for the view
  • HandlerInterceptor: interception of incoming requests comparable but not equal to Servlet filters
  • LocaleResolver: resolving and optionally saving of the locale of an individual user
  • MultipartResolver: facilitate working with file uploads by wrapping incoming requests

The abstractions offered by these interfaces are powerful, so to allow for a set of variations in their implementations, Spring MVC ships with implementations of all these interfaces and together offers a feature set on top of the Servlet API. However, developers and vendors are free to write other implementations. Spring MVC uses the Java java.util.Map interface as a data-oriented abstraction for the Modelwhere keys are expected to be string values. – Wikipedia

Interested in learning more? Read about Spring MVC in the SpringSource Community, or check out this Spring MVC tutorial with Mkyoung.com.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: