Developing J2EE Applications Using Spring Framework v2.0 and RAD 7 Course

Course Code: IN 1011
Course Abstract: This course provides participants 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.
Audience: This course is designed for individuals who are software designers, developers, and programmers.
Duration: 3 days
Learning Outcomes:

Upon completion of this course, the participant will 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

Course Topics:

Introduction to the Spring Framework
Topics
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
Autowiring Example
Autowiring
Mixing Explicit and Autowiring
Special Spring Interfaces
BeanPostProcessor
BeanFactoryPostProcessor
PropertyPlaceholderConfigurer
CustomEditorConfigurer
Awareness Interfaces
Listening For and Publishing Events
XML Schema-based Configuration
XML Schema jndi Example
XML Schema util Example
 
Database Integration and Transaction Management
Topics
DAO Support in Spring
DataAccessException
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
Hibernate Session Factory
Spring LocalSessionFactoryBean
Spring HibernateTemplate
Spring HibernateCallback
HibernateTemplate Convenience Methods
LocalEntityManagerFactoryBean
Spring JpaTemplate
Spring JpaCallback
JpaTemplate Convenience Features
Transactions
Transaction Management in Spring
Spring Transaction Managers
Programmatic Transactions
 
Introduction to Aspect-Oriented Programming
Topics
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
NameMatchTransactionAttributeSource
Declaring Transactions with Metadata
Inheriting Transaction Details
Autoproxying Transactions
Spring 2.0 XML Syntax for Transaction Advice
 
Aspect-Oriented Programming in Spring
Topics
Types of Advice
Before Advice
Before Advice Example
After Returning Advice
Around Advice
Around Advice Example
Throws Advice
Pointcuts
Advisors
NameMatchMethodPointcut
NameMatchMethodPointcut Example
Perl5RegexpMethodPointcut
ControlFlowPointcut
IntroductionInterceptor
IntroductionInterceptor Example
DelegatingIntroductionInterceptor
IntroductionAdvisor
BeanNameAutoProxyCreator
BeanNameAutoProxyCreator Example
DefaultAdvisorAutoProxyCreator
DefaultAdvisorAutoProxyCreator Example
Metadata Autoproxying
Spring 2.0 AOP
@AspectJ
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
 
Spring MVC

Topics
Spring MVC
Spring MVC Components
DispatcherServlet
Context Loaders
Spring MVC Example
Mapping Web Requests
BeanNameUrlHandlerMapping
CommonsPathMapHandlerMapping
Using Multiple Handler Mappings
Controller Hierarchy
AbstractCommandController
SimpleFormController
AbstractWizardFormController
MultiActionController
ThrowawayController
View Resolution
InternalResourceViewResolver
BeanNameViewResolver
XmlViewResolver
ResourceBundleViewResolver
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
Portlets
Spring 2.0 Portlet MVC Framework 
 
Web Application Alternatives
Topics
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
FreeMarker
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
DelegatingRequestProcessor

Accessing Enterprise Services
Topics
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
MethodInvokingJobDetailFactoryBean
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

Appendix A. Java SE 5 in Spring 2.0
Java SE 5 Use in Spring 2.0
@AspectJ
JPA
@Required
@Required in Java Code
Configuration of @Required
@Transactional
@Transactional in Java Code
Configuration of @Transactional
@Transactional Properties
@Transactional Propagation
@Transactional Isolation
@Transactional Exceptions
SimpleJdbcTemplate
Regular JdbcTemplate Use
Use of SimpleJdbcTemplate
Summary

Prerequisites: Understand Servlets and JSP – Course WA1550 addresses the Servlet and JSP topics
Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning