Learn: in:
» back to Search Results

Course rating of 0 Vendor rating of 4

This course provides students with the knowledge needed to use the Spring Framework and Rational Application Developer v7 (RAD7) to develop flexible, testable and maintainable J2EE enterprise applications. This course covers v2.0 of the Spring Framework.

Course Outline

This course provides students with the knowledge needed to use the Spring Framework and Rational Application Developer v7 (RAD7) to develop flexible, testable and maintainable J2EE enterprise applications. This course covers v2.0 of the Spring Framework.

      Upon completion of this course, you should be able to:

  •     Understand the need for the Spring framework
  •     Use inversion of control to increase flexibility and testability of applications
  •     Understand and use aspect-oriented programming to better handle cross-cutting concerns
  •     Integrate Spring with the Hibernate ORM framework
  •     Declaratively and programmatically manage transactions in Spring
  •     Use the Spring MVC web framework to develop flexible web applications
  •     Integrate Spring with the Struts web application framework
  •     Access enterprise services including JMS, email, job schedulers and JNDI


  •     The Need for Spring
  •     Inversion of Control
  •     Wiring Beans
  •     Aspect-Oriented Programming in Spring
  •     Database Integration and Transaction Management
  •     Spring MVC
  •     Web Application Alternatives
  •     Accessing Enterprise Services


Software designers, developers and programmers

      Three days

Course Outline

1. Introduction to the Spring Framework     

    What is the Spring Framework?
    Spring Characteristics
    Spring Modules
    Why Spring?
    Problems with EJB
    Spring Philosophies
    Alternatives to Spring
    Simple Example
    What is Inversion of Control?
    IoC Example
    Spring Containers
    Bean Creation
    Bean Destruction
    Wiring Beans
    Bean Element
    Dependency Injection Primitives and Strings
    Dependency Injection - References
    Dependency Injection Inner Beans
    Dependency Injection Lists, Arrays and Sets
    Dependency Injection Maps
    Dependency Injection - Properties
    Constructor Injection
    Constructor Injection Handling Multiple Arguments
    Constructor vs. Setter Injection
    Autowiring Example
    Mixing Explicit and Autowiring
    Special Spring Interfaces
    Awareness Interfaces
    Listening For and Publishing Events
    XML Schema-based Configuration
    XML Schema jndi Example
    XML Schema util Example

2. Database Integration and Transaction Management
    DAO Support in Spring
    Using DataSources
    DAO Templates
    DAO Templates and Callbacks
    Using Spring with JDBC
    Writing Data with JdbcTemplate
    Reading Data with JdbcTemplate
    Reading Single-Row Scalar Data
    Spring 2.0 NamedParameterJdbcTemplate
    ORM Tool Support in Spring
    Hibernate Session Factory
    Spring LocalSessionFactoryBean
    Spring HibernateTemplate
    Spring HibernateCallback
    HibernateTemplate Convenience Methods
    Spring JpaTemplate
    Spring JpaCallback
    JpaTemplate Convenience Features
    Transaction Management in Spring
    Spring Transaction Managers
    Programmatic Transactions

3. Introduction to Aspect-Oriented Programming     

    What is AOP?
    Cross-Cutting Concerns
    AOP Concepts
    AOP in Spring
    Declarative Transactions
    Transaction Attributes
    Transaction Propagation Behavior
    Transaction Isolation Levels
    Read-Only and Timeouts
    Declaring Transactions with Metadata
    Inheriting Transaction Details
    Autoproxying Transactions
    Spring 2.0 XML Syntax for Transaction Advice

4. Aspect-Oriented Programming in Spring     

    Types of Advice
    Before Advice
    Before Advice Example
    After Returning Advice
    Around Advice
    Around Advice Example
    Throws Advice
    NameMatchMethodPointcut Example
    IntroductionInterceptor Example
    BeanNameAutoProxyCreator Example
    DefaultAdvisorAutoProxyCreator Example
    Metadata Autoproxying
    Spring 2.0 AOP
    Aspects in @AspectJ
    Pointcuts in @AspectJ
    execution Pointcut
    Composite Pointcuts in @AspectJ
    Before Advice in @AspectJ
    After Returning Advice in @AspectJ
    After Throwing Advice in @AspectJ
    After (Finally) Advice in @AspectJ
    Around Advice in @AspectJ
    Introductions in @AspectJ
    Accessing Parameters in @AspectJ
    Determining Parameter Names in @AspectJ
    Advice Ordering in @AspectJ
    XML Schema-based AOP Support
    Declaring Pointcuts
    Before Advice in XML Syntax
    After Returning Advice in XML Syntax
    Introductions in XML Syntax
    Advisors in XML Syntax

5. Spring MVC     

    Spring MVC
    Spring MVC Components
    Context Loaders
    Spring MVC Example
    Mapping Web Requests
    Using Multiple Handler Mappings
    Controller Hierarchy
    View Resolution
    Using Multiple View Resolvers
    Binding Views to Models
    Spring 2.0 Form Tags
    form and input Tags
    password and hidden Tags
    checkbox Tag
    radiobutton Tag
    textarea Tag
    select Tag
    option Tag
    options Tag
    errors Tag
    Spring 2.0 Portlet MVC Framework
    Spring 2.0 Portlet MVC Framework
    Spring 2.0 Portlet MVC Framework
    Spring 2.0 Portlet MVC Framework
    Spring 2.0 Portlet MVC Framework
    Spring 2.0 Portlet MVC Framework

6. Web Application Alternatives     

    Velocity Templates
    Configuring Velocity in Spring
    Velocity View Resolution
    Using Velocity Utility Tools
    Accessing Session/Request Attributes in Velocity
    Binding Velocity Views to the Model
    Configuring FreeMarker in Spring
    FreeMarker View Resolution
    Accessing Session/Request Attributes in FreeMarker
    Binding FreeMarker Views to the Model
    Jakarta Tiles
    Configuring Tiles in Spring
    Tiles View Resolution
    Tiles Component Controller
    Creating Excel Spreadsheets
    Creating PDF Documents
    Creating Other Non-HTML Documents
    Jakarta Struts
    Configuring Spring in Struts
    Spring-Aware Struts Actions
    Delegate Requests to Struts Action Beans

7. Accessing Enterprise Services     

    Remoting in Spring
    Clients of RMI Services
    Exporting RMI Services
    Hessian and Burlap
    Clients of Hessian/Burlap Services
    Exporting Hessian/Burlap Services
    Spring HTTP Invoker
    Clients of HTTP Invoker Services
    Exporting HTTP Invoker Services
    Clients of EJB Services
    Clients of Web Services
    Accessing Objects in JNDI
    Using the Quartz Scheduler
    Configuring a Quartz Job
    Scheduling a Quartz Job
    Starting Quartz Jobs
    Scheduling a Quartz Job Using a Cron Expression
    Sending Email
    Message-Oriented Middleware and JMS
    Spring JMS Resources
    JMS Templates and Callbacks
    Sending JMS Messages
    Receiving JMS Messages
    Converting Messages
    Asynchronous Reception of JMS Messages
    Spring 2.0 Dynamic Language Support
    Spring 2.0 Dynamic Language Support
    Spring 2.0 Dynamic Language Support
    Spring 2.0 Dynamic Language Support
    Spring 2.0 Dynamic Language Support
    Spring 2.0 Dynamic Language Support

Appendix A. Java SE 5 in Spring 2.0     

    Java SE 5 Use in Spring 2.0
    @Required in Java Code
    Configuration of @Required
    @Transactional in Java Code
    Configuration of @Transactional
    @Transactional Properties
    @Transactional Propagation
    @Transactional Isolation
    @Transactional Exceptions
    Regular JdbcTemplate Use
    Use of SimpleJdbcTemplate

Prerequisites & Certificates

To succeed fully in this course, students should be able to: Understand Servlets and JSP – Course WA1550 addresses the Servlet and JSP topics

Certificates offered

Cancellation Policy
Student's Right to Cancel Registration

If Customer cancels or reschedules an original registration for a class at least ten (10) business days prior to the class start date, Web Age Solutions will issue a full refund of fees paid for class. Customer is not otherwise entitled to a refund of fees paid or released from its obligation to pay for any registration cancelled or rescheduled by Customer, including without limitation a registration previously rescheduled by Customer. Payment for the course will not be refunded if cancellation is received less than ten (10) business days before the class start date. If you wish to send another student in your place, please contact Web Age Solutions at the number below.

Web Age Solution's Right to Cancel or Reschedule

Web Age Solutions reserves the right to cancel or reschedule a class at any time. If a class is cancelled or rescheduled, Web Age Solutions will attempt to notify students ten (10) business days prior to the scheduled class start date. Web Age Solutions assumes no financial liability for any cancellation fees.


Map & Reviews
Web Age Solutions
[ View Provider's Profile ]


This course has not yet been rated by one of our members.

If you have taken a course through this vendor please log into your account and leave feedback for this vendor. You will be helping ensure our members get directed to the best training facilities.

Here are some reviews of the training vendor.
nope, but the room was quite cold in the mornings
Reviewed by 2014

This course currently does not have any dates scheduled. Please call 1-877-313-8881 to enquire about future dates or scheduling a private, in house course for your team.

This page has been viewed 111 times.