Introduction to Spring: Training Course Description — About Objects, Inc.

Need more info? Call now.

703-251-4474

Courses — About Objects, Inc.

Introduction to Spring

Duration:

2 Days

Price:

$1,250


Here's What You'll Learn:

  • Master techniques for getting the most out of using Spring
  • Understand Aspect-Oriented Programming (AOP)
  • Understand Inversion of Control (IOC), and Dependency Injection (DI)
  • Learn to use XML to define beans to instantiate at runtime, and to configure their properties
  • Learn to configure bean properties in XML
  • Work with Spring application contexts and bean factories
  • Use Spring to load filesystem and classpath resources
  • Use Spring's value binding and validation mechanisms
  • Understand how Spring uses proxies and interceptors to provide declarative transactions, security, etc.
  • Learn to use declarative and programmatic transactions to simplify your code
  • Know how to integrate your app with Hibernate, iBatis and other persistence frameworks

Have you ever found yourself wondering, “What does the Spring framework actually do, and how would that benefit me and my project? And what the heck do they mean by ‘Inversion of Control’, ‘Dependency Injection’, and all those other fancy-sounding terms?”

We'll help demystify these things for you, and help you quickly master the use of key Spring technologies to streamline development and improve testability and maintainability. You'll get to apply your new knowledge in a series of hands-on lab exercises that will help bring some of the seemingly obscure concepts down to earth, as you get comfortable using a broad range of Spring features.

The course will show you how to use bean factories to create and manage instances defined in XML. You'll learn to use XML to configure bean property values, as well as their scopes, life cycles, and other runtime values. And you'll discover how to leverage Spring to simplify a range of other issues, including resource loading, value-binding, validation, transaction management, logging, security, and integration with other frameworks, such as Struts and Hibernate.

Who Should Take This Course

This course is for you if you are an experienced Java developer (or at a minimum, have taken Java Programming or the equivalent) and want to learn to use Spring to streamline your project.

Course Outline

1. Overview

  • What is Spring?
    • History
    • Spring Core
    • AOP and Separation of Concerns
    • Other Spring Modules
  • Integration with Other Frameworks
  • Strengths and weaknesses

2. Inversion of Control (IOC)

  • What is IOC? (...and Why Should I Care?)
  • Plain Old Java Objects (POJOs)
  • Declarative Bean Definition
    • XML Metadata
    • Instantiating a Container
    • Working with BeanFactory
    • Singletons and Prototypes
    • Bean Scope and Lifecycle
  • Dependency Injection: Fancy Term, Simple Concept
    • Setter Injection,
    • Constructor Injection
    • Bean References and the ref and idref Elements
  • Streamlining the XML
    • Flattening Nested Elements
    • Using the p-namespace
    • Inheritance
    • Imports
  • Bean Post-Processors
    • Using Annotations
    • Factories
    • Properties
  • Event Handling

3. Finding and Loading Resources

  • The ResourceLoader Interface
  • Configuring Dependencies
  • Classpath Resources
  • Filesystem Resources
  • URL Resources
  • Pattern Matching

4. Binding and Validation

  • The BeanWrapper Interface
  • Working with PropertyEditors
    • Default Behavior
    • Registering Custom PropertyEditors
    • Error Handling
  • The Validator Interface
    • Implementing the validate Method
    • Posting Error Messages
    • Registering Validators

5. Aspect-Oriented Programming (AOP)

  • YAA (Yet Another Acronym)
  • AOP Explained
    • Cross-Cutting Concerns
    • Aspects
    • Join Points and Pointcuts
    • Advice: Before, After, and Around
    • Introductions
  • AspectJ vs. Spring AOP
  • AOP Proxies
  • Configuring Interceptors
  • Passing Parameters

5. Transactions, Logging, and Security

  • Declarative Transactions
    • Isolation
    • Propagation
    • Timeout
    • Read-Only Status
  • Using Annotations
  • Programmatic Transactions
    • Starting
    • Committing
    • Rolling Back
  • Transaction Templates
  • Global (JTA) Transactions
  • Declarative Security
    • ACEGI
    • Configuring roles
    • Defining permissions
  • Declarative Logging

7. Integrating with Other Frameworks

  • Persistence
    • Hibernate
    • Other ORMs
    • iBatis
  • Presentation
    • Struts
    • Others

Links

For additional information on the Spring framework, please visit:

The Spring framework project website: http://www.springframework.org/
Wikipedia entry on theSpring framework: http://en.wikipedia.org/wiki/Hibernate_(Java)