EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Spring-MVC Web Applications

Course outline

5 days

Duration

5 days

Outline

  • Overview of Spring
  • Java EE: The Good, The Bad, and the Ugly
  • Enter the Framework
  • Spring Value Proposition
  • The Spring Container
  • Web Applications
  • Persistence Support
  • Aspect-Oriented Programming
  • The Java EE Module(s)
  • The Container
  • JavaBeans, Reconsidered
  • The Factory Pattern
  • Inversion of Control
  • XML View: Declaring Beans
  • Java View: Using Beans
  • Singletons and Prototypes
  • Instantiation and Configuration
  • Configuring Through Properties
  • Configuration Namespaces
  • The p: Notation
  • Bean (Configuration) Inheritance
  • Configuring Through Constructors
  • Bean Post-Processors
  • Lifecycle Hooks
  • Integrating Existing Factory Code
  • Awareness Interfaces
  • Dependency Injection
  • Assembling Object Graphs
  • Dependency Injection
  • Single and Multiple Relationships
  • The Utility Schema
  • Using Spring Expression Language (SpEL)
  • Inner Beans
  • Autowiring
  • @Component, @Service, & Company
  • @Autowired Properties
  • Best Practices with Spring Annotations
  • Java Classes as @Configurations
  • AnnotationConfigApplicationContext
  • Capabilities and Limitations
  • Mixing and Importing XML and Java Configurations
  • Assembling Object Models
  • Collections and Maps
  • Support for Generics
  • The Spring Utility Schema (util:)
  • Autowiring to Multiple Beans
  • Order of Instantiation
  • Bean Factory vs. Application Context
  • The Web Module
  • Servlets and JSPs: What's Missing
  • The MVC Pattern
  • The Front Controller Pattern
  • DispatcherServlet
  • A Request/Response Cycle
  • The Strategy Pattern
  • Web Application Contexts
  • Annotation-Based Handler Mappings
  • @Controller and @RequestMapping
  • "Creating" a Model
  • Views and View Resolvers
  • Handling Requests
  • Matching URLs
  • Identifying Views
  • Request Parameters
  • Injectable Parameters
  • Command Objects
  • Return Types
  • HTTP Methods
  • Path Variables
  • Scope and Granularity of Command Objects
  • Headers and Cookies
  • RESTful Web Services
  • Working with Forms
  • Form Processing in Spring MVC
  • Command Objects in Request Methods
  • Spring Custom Tags
  • <form:form> and Friends
  • Text Fields, Check Boxes, and Buttons
  • Radio Buttons and Select/Option Lists
  • Command objects at Session Scope
  • Limitations of @SessionAttributes
  • Data Binding
  • A Consolidated Process
  • Property Editors
  • DataBinder and @InitBinder Methods
  • Converters and Formatters
  • Using <mvc:annotation-driven/>
  • Custom Formatters
  • Validation
  • Validating Form Input
  • Spring Validators
  • Deriving a Validator Reference
  • Applying a Validator
  • <form:errors>
  • Bean Validation, a/k/a JSR-303
  • Configuring Bean-Validation Support
  • Automatic Support with @Valid
  • Configuring Spring MVC
  • Configuring Message Sources
  • Resolving Error Codes
  • Codes for Bean Validation
  • HandlerExceptionResolver
  • @ExceptionHandler
  • @ControllerAdvice for Global Error Handling
  • Interceptors
  • Configuring Interceptors
  • Filters in the Request-Handling Cycle
  • Persistence with JDBC
  • Reducing Code Complexity
  • The DataAccessException Hierarchy
  • JdbcTemplate
  • RowMapper<T> and ResultSetExtractor<T>
  • The DaoSupport Hierarchy
  • Capturing Generated Keys
  • Transaction Control
  • TransactionTemplate
  • Isolation Levels
  • Transaction Propagation
  • Persistence with JPA
  • Object/Relational Mapping
  • The Java Persistence API
  • JpaDaoSupport and JpaTemplate
  • @PersistenceUnit and @PersistenceContext
  • Shared Entity Managers
  • Using <tx:annotation-driven>
  • The @Transaction Annotation
  • Isolation and Propagation
  • A Limitation of @Transactional
  • Understanding Entity States
  • Bean Validation in JPA
  • Optimistic Locking

Programme scope, delivery arrangements and suitability are confirmed during enquiry.