Course Content
A Brief Review of the Spring Framework
- ApplicationContext
- Dependency Injection
- Annotation and XML based configuration
Integrating Spring with Web Applications
- Using the ContextLoaderListener to create an ApplicationContext
- Using WebApplicationContextUtils to access the ApplicaitonContext
Spring MVC Overview
- Overview and comparisons to other frameworks
- Spring MVC architecture
- The parts of a Spring MVC application
- Spring MVC configuration
Spring MVC - Controllers
- Declaring Annotation based controllers - @Controller
- Mapping URLs to controllers - @RequestMapping
- Input parameters - @RequestParam
- Using logical view names - InternalResourceViewResolver
Handling Forms
- Creating "Model" objects (@ModelAttribute)
- Pre-populating Forms
- Handling POST requests
- Spring form tags
Conversions
- PropertyEditors
- Handling Errors
- Conversion Service, Formatters and Converters
Supporting different Locales
- LocaleResolvers
- LocaleChangeInterceptor
Performing Data Validations
- Spring Validation - how it works, creating custom validators,invoking validation in controllers
- JSR 303 Validation - how it works, creating custom validators,invoking JSR-303 validation in controller
Spring MVC - Views
- Other ViewResolvers -BeanNameViewResolver, XmlViewResolver, ResourceBundleViewResolver
- Using Multiple View Resolvers
- Integrating Tiles
- Creating custom Views
Handler Mappings and Exception Resolvers
- Handler Mappings - Default Handler Mapping, Using to handle static requests, Simple URL Handler Mapping
- Creating a "legacy" Controller
- Handling unexpected exceptions using Simple Mapping Exception Resolver
- Creating a Handler Interceptor using HandlerInterceptors
Testing Spring MVC applications
- Using SpringJUnit4ClassRunner
- @DirtiesContext
- Using Spring Mock Objects to test Controllers