2. peter.maas@finalist.com ☄ maas-frensch.com/peter/
Peter Maas ~ Works at Finalist IT
Group. 70% Developer, 20%
Architect and 10% CTO Board.
Techniques used daily include Java/
JEE, Spring, Hiber nate, JSP.
Passionate about scripting language
for the JVM like Groovy and JRuby.
Spring MVC
4. Spring
Spring ~ A Layered Java/JEE
application framework. The most
complete lightweight container,
providing centralized, automated
configuration and wiring of your
application objects.
Spring MVC
5. Why Spring (I)
Key reasons
To provide a non-invasive programming model. As far as
possible, application code should be decoupled from the
framework.
To provide a superior solution to in-house infrastructure,
so that developers can focus on delivering business value
rather than solving generic problems.
To make developing enterprise applications as simple as
possible, but enhancing, rather than sacrificing, power.
Spring MVC
10. Typical SpringMVC Architecture
Spring MVC territory
Business logic
User Interface
Web
Domain
Connections to exernal
Model
systems (database,
Services
webservices)
Integration
Spring MVC
11. MVC
Controller
request
Model
Actor
response
View
Spring MVC
12. Controller
Controller ~ Controllers interpret
user input and transform such input
into a sensible model which will be
represented to the user by the view.
Spring MVC
13. Controller Interface
If you find yourself
implementing the
controller interface
you're probable doing
public interface Controller { stuff the hard way!
/**
* Process the request and return a
* ModelAndView object which the DispatcherServlet
* will render.
*/
ModelAndView handleRequest(
HttpServletRequest request,
HttpServletResponse response) throws Exception;
}
Spring MVC
15. Model
Model ~ The domain-specific
representation of the information on
which the application operates.
List<SearchResult> results =
new ArrayList<SearchResult>();
model.addObject(quot;searchResultsquot;, results);
List<SearchResult> r =
(List<SearchResult>)model.get(quot;searchResultsquot;);
Spring MVC
16. View
View ~ Renders the model into a
for m suitable for interaction,
typically a user interface element.
Multiple views can exist for a single
model for different purposes.
Spring MVC