Java Training Overview
This course provides students with the knowledge needed to use the Spring Framework and Rational Application Developer V6 (RAD6) to develop flexible, testable and maintainable J2EE enterprise applications.
Java Training Audience
- Software designers, developers and programmers
Java Training Prerequisites
To succeed fully in this course, students should be able to:
- Understand Servlets and JSP
Java Training Learning Objectives
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
Java Training Topics
- 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
Java Training Course duration
Two Days
Java Training Course outline
1. 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
2. Aspect-Oriented Programming
in Spring
- Topics
- What is AOP?
- Cross-Cutting Concerns
- AOP Concepts
- AOP 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
- RegexpMethodPointcut
- ControlFlowPointcut
- IntroductionInterceptor
- IntroductionInterceptor Example
- DelegatingIntroductionInterceptor
- IntroductionAdvisor
- BeanNameAutoProxyCreator
- BeanNameAutoProxyCreator Example
- DefaultAdvisorAutoProxyCreator
- DefaultAdvisorAutoProxyCreator Example
- Metadata Autoproxying
3. 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
- ORM Tool Support in Spring
- Hibernate
- Hibernate Session Factory
- Spring LocalSessionFactoryBean
- Spring HibernateTemplate
- Spring HibernateCallback
- HibernateTemplate Convenience Methods
- Transactions
- Transaction Management in Spring
- Spring Transaction Managers
- Programmatic Transactions
- Declarative Transactions
- Transaction Attributes
- Transaction Propagation Behavior
- Transaction Isolation Levels
- Read-Only and Timeouts
- NameMatchTransactionAttributeSource
- Declaring Transactions with Metadata
- Inheriting Transaction Details
- Autoproxying Transactions
4. 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
5. 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
6. 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
- Sending JMS Messages
- Receiving JMS Messages
- Converting Messages
Minimum Hardware Requirements
- 1000Mhz Pentium III
- 1GB MB RAM minimum
- 6 GB
- Ethernet or Token Ring card
- CD-ROM drive
- Network connectivity to the internet
Minimum Software Requirements
- Microsoft Windows 2000
SP4
- Adobe Acrobat Reader V6.0
- Internet Explorer 6.0 or higher.
- IBM DB2 V8.2 Personal Developer Edition
- Rational Application Developer v6(RAD 6)
|