UMBC Training Centers logo

Core Spring 3.0 and Spring Web Flow Using RAD 7.5

 

Course Description | Outline | IT Home

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

2 - Spring Dependency Injection
* 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
* 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

3 - Database Integration and Transaction Management
* 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 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

4 - 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
* NameMatchTransactionAttributeSource
* Declaring Transactions with Metadata
* Inheriting Transaction Details
* Autoproxying Transactions
* Spring XML Syntax for Transaction Advice

5 - Aspect-Oriented Programming in Spring
* 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 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

6 - Spring MVC
* Spring MVC
* Spring MVC Components
* DispatcherServlet
* Context Loaders
* Spring MVC Example
* Mapping Web Requests
* BeanNameUrlHandlerMapping
* CommonsPathMapHandlerMapping
* Using Multiple Handler Mappings
* Controller Hierarchy
* AbstractCommandController
* AbstractCommandController
* SimpleFormController
* SimpleFormController
* SimpleFormController
* AbstractWizardFormController
* MultiActionController
* ThrowawayController
* View Resolution
* InternalResourceViewResolver
* BeanNameViewResolver
* XmlViewResolver
* ResourceBundleViewResolver
* Using Multiple View Resolvers
* Binding Views to Models
* Spring Form Tags
* form and input Tags
* password and hidden Tags
* checkbox Tag
* checkbox Tag
* radiobutton Tag
* textarea Tag
* select Tag
* option Tag
* options Tag
* errors Tag
* Portlets
* Spring Portlet MVC Framework

7 - Introduction to Spring Web Flow 2
* What is Spring Web Flow 2?
* Relationship to Spring #and Spring MVC
* Spring Web Flow 2 Modules
* Spring Web Flow 2 Modules
* Integration Support
* What is a Flow?
* Book Hotel Flow Example
* Book Hotel Flow Definition
* Benefits of Spring Web Flow 2
* Required Software
* Configuration Steps
* JAR File Instructions
* Configure web.xml
* Spring Web Flow Components
* Sample Spring Web Flow Configuration File
* Summary

8 - Defining Flows
* Recap: What is a Flow?
* Recap: Book Hotel Flow Example
* Flow Definition Language
* Skeletal Flow Definition
* States
* View State
* Transitions
* Generating Events
* Generating Events using Submit Button
* Generating Events using Links
* End States
* Actions
* Actions
* When do Actions Occur?
* Putting it all Together
* Introduction to Unified Expression Language
* Unified Expression Language Functionality
* Unified Expression Language Implicit Variables
* Flow Instances
* Flow Variables
* Variable Scopes
* Assigning and Accessing Variables
* Flow Input
* Binding a View to a Model
* Summary

9 - Spring Security
* HTTP Request Authorization
* Security Annotations
* Security Tag Library
* Servlet Security API Compatibility
* Authentication Backend Support
* LDAP Support
* Password Encoding
* Web Flow Security
* Web Service Security
* Summary

10 - Web Application Alternatives
* Velocity Templates
* 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
* FreeMarker
* Configuring FreeMarker in Spring
* FreeMarker View Resolution
* Accessing Session/Request Attributes in FreeMarker
* Binding FreeMarker Views to the Model
* Jakarta Tiles
* Jakarta Tiles
* Jakarta Tiles
* Configuring Tiles in Spring
* Tiles View Resolution
* Tiles Component Controller
* Tiles Component Controller
* Tiles Component Controller
* Creating Excel Spreadsheets
* Creating PDF Documents
* Creating Other Non-HTML Documents
* Jakarta Struts
* Using Spring with Struts
* Configuring Spring in Struts
* Spring-Aware Struts Actions
* Delegate Requests to Struts Action Beans
* Delegate Requests to Struts Action Beans
* DelegatingRequestProcessor

11 - 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
* 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 Dynamic Language Support

12 - Java SE 5 in Spring
* Java SE 5 Use in Spring
* @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

13 - New Features in Spring 3.0
* Spring MVC Changes
* New Spring Configuration Options
* Task Scheduling
* Using AJAX with Spring
* Summary