Spring Framework Part 2 - More MVC, Webflow, Web Services, Security, ROO

Course:  SPRING2
Duration:  5 Days
Level:  II
Course Summary

This course is the next step in using the many features the Spring Framework has to offer. In depth Web topics covering Web Flow and MVC address the powerful features for building popular workflow structures in applications. Spring Security will be applied to all areas including the Method level. Spring ROO will be used to build entire applications, including Spring MVC. Web Services for SOAP and RESTful are included to complete the Web Tier.

« Hide The Details
Topics Covered In This Course

The Web Module and Spring MVC

  • The MVC Pattern
  • The Front Controller Pattern
  • DispatcherServlet
  • Why Spring MVC?
  • Application Configuration
  • Spring Handler Mapping
  • spring-servlet.xml
  • Adding the Services Layer
  • JQuery Considerations
  • Transaction Considerations

Controllers and Commands

  • Overview of the Spring MVC Controllers
  • ParameterizableViewControllers
  • SimpleFormControllers
  • Inserting Spring Custom Form Tags
  • Binding Data
  • Incorporating MultiActionControllers

Binding and Validation

  • Adding Validators
  • Creating a Model Validator
  • Working with Message Properties Files
  • Using Annotations
  • The @Controller Annotation
  • The @RequestMapping Annotation
  • Other Handler Annotations

Working with Spring Web Flow

  • Installing Spring Web Flow
  • The components of a flow
  • Putting it all together in an application
  • Securing web flows

SOAP Web Services

  • Setup
  • Tools
  • WSDL
  • Testing

RESTful Web Service

  • Dependencies
  • Exposing the Service
  • RESTTemplate
  • JSR 303 Considerations

The Scope of Security

  • The Network Security Layer
  • The Operating System Layer
  • The Application Layer
  • Authentication and Authorization: General Concepts
  • What to Secure
  • More Security Concerns
  • Java Options for Security

Introducing Spring Security

  • What is Spring Security?
  • Where does Spring Security fit in?
  • Spring Security and Spring
  • Spring Framework: A Quick Overview
  • An Initial Spring Security Secured Application
  • Understanding the Simple Application

Web Security

  • Introducing the simple example application
  • The Special URLs
  • Custom Login Form
  • Basic HTTP Authentication
  • Digest Authentication
  • Beyond Simple User Roles: Using Spring Expression Language to Secure the Web Layer
  • Extend with Custom Expressions

Securing the Service Layer

  • The Limitations of Web-Level Security
  • What Is Business Service-Level Security?
  • How the Described Actions Happen Under the Hood
  • Creating a Business Layer in an Application
  • @RolesAllowed Annotation
  • Securing the Application Using SpEL Expressions
  • Securing the Data Returned from a Method
  • Using AspectJ AOP instead of Spring AOP

Customizing and Extending Spring Security

  • Spring Security Extension Points
  • Plug into the Spring Security Event System
  • Custom AuthenticationProvider and UserDetailsService
  • Password Encryption
  • Custom Security Filter
  • Handling Errors and Entry Points
  • Changing the Security Interceptor
  • Spring Security Extensions Project

What is Spring Roo?

  • Overview and Configuration
  • Roo application architecture models

Getting Started with Roo

  • Working with the Roo shell
  • How Roo manages projects
  • Refactoring, Roo ITDs and leaving Roo

Database Persistence with Entities

  • Business objects and persistence
  • Working with entities
  • Validating Courses with Bean Validation
  • Searching with finders
  • Leaving Active Record?JPA repositories
  • Code samples

Relationships, JPA, and Advanced Persistence

  • Object relations: it?s all relative
  • A sample Course Manager database
  • Course Manager relationships
  • Reverse engineering your database
  • Adding a service layer
  • Using JPA directly

Rapid Web Applications with Roo

  • The Spring MVC web framework
  • Roo Spring MVC quick-start
  • Web scaffolding for entities
  • Accessing other Spring beans
What You Can Expect

At the end of this course, students will be able to:

  • Design, create and debug complex Spring MVC applications.
  • Understand Web Flow and where it can be used.
  • Create, monitor, and test Spring Web Services.
  • Apply Security to all levels of Spring Framework applications, including methods.
  • Use Spring Roo to create Spring Framework applications.
  • Configure Spring Framework using Java Classes and eliminate Web.XML configuration.
  • Incorporate JQuery and JavaServer Faces.
Who Should Take This Course

This course is designed for Developers who have attended our Spring Framework - Part I class or have equivalent experience in developing or maintaining Spring Framework Web applications.

Recommended Prerequisites

Spring programming experience, a basic knowledge of configuration, familiarity with the Spring Framework dependency injection, and Aspect oriented programming.

Training Style

Instructor led with 50% lecture and 50% lab.

« Hide The Details
Related Courses
Code Course Title Duration Level
Spring Framework Part 1 - Fundamentals, Injection, AOP, Beginning MVC
5 Days
JavaServer Faces (JSF) Programming
3 Days
Spring Framework 3.x New Features
3 Days
Spring and Hibernate Development
5 Days
Spring 3 Security
3 Days
Spring Framework Part 3 - Batch, Integration, Data with JPA, Testing
5 Days
Spring Framework Part 4 - Spring Data with JPA, Hadoop, MongoDB, and More
5 Days

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at [email protected]