Objectives |
|
Upon completion of this course, you should be able to:
|
|
Topics |
|
|
|
Audience |
|
Software designers, developers and programmers. |
|
Prerequisites |
|
To succeed fully in this course, students should be able to:
|
|
Duration |
|
Five days. |
Outline for Java EE Programming with Spring 3 Using SpringSource Tool Suite Training
Chapter 1. Introduction to the Spring Framework
- What is the Spring Framework?
- Spring Philosophies
- Why Spring?
- Spring Modules
- Requirements and Supported Environments
- Using Spring with Servers
- Role of Spring Container
- Spring Example
- Avoiding Dependency on Spring
- Additional Spring Projects/Frameworks
- Summary
Chapter 2. Spring 3 Development Tools
- SpringSource Tool Suite
- Developing Spring 3 Applications With RAD
- Sequence of Installation for Spring/RAD/WebSphere
- Alternatives to RAD for Spring/WebSphere Development
- Creating a Spring Project
- Tools for Spring Beans Configuration Files
- Spring Configuration Validation
- Spring Web Flow Definition Tools
- Maven Overview
- Managing Spring JARs with Maven
- Adding Maven Dependencies
- Summary
Chapter 3. Defining and Using Spring Beans
- Spring “Beans”
- Spring Containers
- Instantiating the Spring Container
- Retrieving Spring Beans
- Configuring Spring Beans
- <bean> Element
- Naming Beans
- Setting Bean Properties
- Using the Spring XML 'p' Schema
- Creating Beans with a Constructor
- Resolving Constructor Ambiguity
- Setting Properties vs. Invoking Constructors
- Bean Scope
- Effect of Bean Scope on Instances
- Summary
Chapter 4. Advanced Spring Bean Configuration
- Defining Beans with Annotations
- Component Stereotype Annotations
- Spring Component Annotations
- Bean Scope with Annotations
- Configuring Classpath Scanning for Spring Beans
- Choosing Which Annotations to Use
- Overriding Annotation Configuration with XML
- Externalizing Bean Configuration
- PropertyPlaceholderConfigurer
- PropertyOverrideConfigurer
- Inheriting Bean Configuration
- Lazy Initialization
- Declaring Beans from Static Fields
- Declaring Beans from Object Properties
- Summary
Chapter 5. Spring Dependency Injection
- Dependency Injection
- Benefits of Dependency Injection
- Specifying Bean References
- Constructor Injection
- Constructor vs. Setter Injection
- Injecting Multivalued Properties
- Other Multivalued Types
- Specifying the Data Type of Collections
- Defining Collections Using Utility Factory Beans
- Defining a Reusable Properties From an External File
- Bean Scope Effect on Dependency Injection
- Autowiring With XML
- Autowiring Example
- Errors in Autowiring
- Excluding a Bean from Autowiring
- Autowiring Multivalued Properties
- Mixing Explicit and Autowiring
- Summary
Chapter 6. Spring Dependency Injection with Annotations
- Dependency Injection Annotations
- @Autowired and @Inject
- Locations for @Autowired and @Inject
- Autowiring Multivalued Properties
- Autowiring by Bean Name with @Resource
- Injecting Named Collections Defined in XML with @Resource
- Checking Required Dependencies
- Enforcing Required Properties with XML Autowiring
- Multiple @Autowired Constructors
- Multiple Autowiring Matches
- Qualifiers with Annotation-based Autowiring
- Adding a Qualifier Value to a Bean Definition
- Qualification of Multivalued Properties
- Defining Custom @Qualifier Annotations
- Complex Custom @Qualifier Annotations
- Associating Custom Bean Qualifiers with XML
- Processing Injection Annotations
- Overriding Annotation Injection
- Summary
Chapter 7. Testing Spring Applications
- Spring Unit Testing
- Configuring Test Projects
- Spring TestContext Framework
- Implementing Test Classes
- Loading Spring Configuration with Test Classes
- Accessing Spring Components Within Test Classes
- Defining Tests to Execute
- Isolating Tests Which Modify the Spring Environment
- Transactional Testing Support
- Transactional Test Base Classes
- Avoiding False Positives with ORM Testing
- Other Transaction Annotations
- Other Spring Annotations for JUnit
- Unit Testing Support Classes
- Mock Objects
- Summary
Chapter 8. Introduction to JavaServer Faces
- What is JavaServer Faces (JSF)?
- Why Use JSF?
- Nature of a JSF Application
- The Sun Reference Implementation (RI)
- JSF and MVC
- Faces Servlet
- Managed Bean
- The View
- A Simple JSF Application
- The Input Form: form.jsp
- The Result: thanks.jsp
- The Controller: AddressBean
- Page Flow or Navigation Rule
- How Does the Application Work?
- Under the Covers: The Rendered Form HTML
- Under the Covers: The Layout Tree
Chapter 9. Managed Bean
- What is a Managed Bean?
- Why Do You Need Managed Beans?
- Managed Bean As a Controller
- Registering a Managed Bean
- Lifecycle of a Managed Bean
- Initializing a Managed Bean
- What Scope to Use?
- Value Binding
- Property Data Conversion
- Advanced Property Types
- Component Binding
- Other Binding Types
- Basic Input Processing
- Advanced Input Processing
- JSF Expression Language
- Language Basics
- Use of Expression in JSF
- Basic Expression
- Property Access Expression
- Map Access Expression
- Complex Access Expression
- Predefined Objects
- Operators
Chapter 10. Using JSF with Spring
- JSF Integration Options
- DelegatingVariableResolver
- SpringBeanVariableResolver
- SpringBeanFacesELResolver
- Spring Bean Scopes
- FacesContextUtils
- JSF with Spring Web Flow
Chapter 11. User Interface Components
- JSF UI Components
- JSF Component Tag Libraries
- Using the Tag Libraries
- HTML Tag Library
- Identifying Components
- Component Identifier
- Client Identifier
- Form Input Field Names
- Define a Form
- Labels and Images
- Buttons
- Links
- Adding Parameters to Links
- Text Input
- Simple Check Box
- Check Box Group
- Check Box Group Example
- Radio Button
- List Boxes
- Dynamic List Box
- Example
- Another Example
- JSF Core Library
- JSF Core Library - Components
- JSF Component Model
- Base Class Hierarchy
- Useful Base Classes
- Useful HTML Classes
Chapter 12. JSF Event Handling
- Request Processing Phases
- Action Request Processing Phases
- JSF Event & Listener Model…
- JSF Event Classes
- Event Classes
- Event Classes: Hierarchy
- Action Event Handling
- Action Event: Example
- Action Listener
- Value Change Event
- Value Change Event Handler
- Listener Classes
- Listener Interfaces
- Listener Classes: Hierarchy
- Action Listener Class
- Value Change Listener Class
- Phase Event Listener
- Request Processing Lifecycle
- Phase Identifiers
Chapter 13. JSF Navigation
- JSF Navigation
- Example Action Listener
- faces-config.xml File
- JSF Navigation
- Choosing Between Redirect & Direct Rendering
- Navigation Rules: Example
- Navigation: Scenarios
Chapter 14. Advanced GUI Components
- HTML Panel
- Applying Styles
- Grouping Components
- Data Table
- Using a Data Table
- Data Table Model
- Using a Data Table
- Displaying a Header and Footer Row
- Applying Styles
- Adding Links to a Row
- Using Component Binding
- Handling Action
- Using the Data Table Model
- Handling Action
Chapter 15. Entities and Java Persistence API
- Data Persistence
- Java Persistence API
- Entities
- Session Beans Vs Entities
- Entities
- Persisting and Retrieving Data
- Accessing Entities
- EntityManager & Persistence Unit
- Persistence Context
- Entities - Example
- persistence.xml – Hibernate Provider
- persistence.xml – Open JPA Provider
- persistence.xml - Toplink
- Entity Instance Lifecycle
- Creating EntityManager in Session EJB
- Creating EntityManager in a Plain Java Class
- Working With the EntityManager Interface
- Transaction Basics
- Summary
Chapter 16. Using Spring with JPA or Hibernate
- Spring ORM
- Benefits of Using Spring with ORM
- Spring @Repository
- Using JPA with Spring
- Configure Spring JPA EntityManagerFactory
- Using JNDI to Lookup JPA EntityManagerFactory
- LocalContainerEntityManagerFactoryBean
- LocalEntityManagerFactoryBean
- Application JPA Code
- Hibernate
- Hibernate Session Factory
- Spring LocalSessionFactoryBean
- Application Hibernate Code
- "Classic" Spring ORM Usage
- Spring JpaTemplate
- Spring JpaCallback
- JpaTemplate Convenience Features
- Spring HibernateTemplate
- Spring HibernateCallback
- HibernateTemplate Convenience Methods
- Summary
Chapter 17. JPA Entity Lifecycle
- Entity Lifecycle
- When is an Entity Managed or Detached?
- Implementing the CRUD Pattern
- Accessing Entities Using Stateless Session Beans
- Inserting Data
- Retrieving Data
- Updating Data
- Deleting Data
- Merging Entities
- Merging Entities (example)
- Life-Cycle Callbacks
- Example: Internal callback
- External Callback Class
- Listener Class - Example
- Synchronizing with Databases
- Entity Lookup
- JPAQL (JPA Query Language)
- Summary
Chapter 18. Java Persistence Query Language (JPA QL)
- JPA Query Language
- Basic JPAQL Syntax
- Simple SELECT Examples
- Example of Using JPAQL
- The SELECT clause
- Reading Data from Code
- The WHERE Clause
- Example Using JPAQL from Session EJB
- Named Query
- Multiple Named Queries
- Bulk Updates
- Bulk Delete
- Running Native SQL Query
- Native SELECT Query
- Native SQL Delete and Insert
- Named Native Query
- Summary
Chapter 19. Basic Entity Relationships
- Relationship Between Entities
- Anatomy of a Relationship
- Foreign Key
- Example Schema
- One-to-One Unidirectional
- Creating Entity Instances
- Traversing the Relationship
- The Cascade Behavior
- One-to-One Bidirectional
- Maintaining Bidirectional Links
- Simplifying Bidirectional Links
- Traversing the Relationship
- Summary
Chapter 20. Complex Entity Relationships
- One-To-Many and Many-To-One
- Many-to-One Unidirectional
- Creating Entity Instances
- Traversing the Relationship
- Modeling One-to-Many
- Maintaining Bidirectional Links
- Creating Entity Instances
- Traversing the Relationship
- Many-to-Many
- Modeling Many-to-Many
- Maintaining Bidirectional Links
- Creating Entity Instances
- Traversing Relationship
- Unidirectional One-to-Many
- Modeling Unidirectional One-to-Many
- Creating Entity Instances
- Traversing the Relationship
- Relationship in JPA QL
- Fetching Optimizations
- Lazy vs. Eager Initialization
- Lazy Initialization
- Various Problems with Lazy Initialization
- Fetch Join Query
- Summary
Chapter 21. Spring, JSF and JPA Integration
- Integrating JSF
- JPA
- Spring
- Putting It All Together
- Simple Application
- Code the JPA Entity
- The Managed Bean
- Entity as Managed Bean
- Entity as a Field of the Managed Bean
- Accessing the Entity Manager
- EntityManager in JSF Managed Bean
- Separate Spring Component Works with EntityManager
- Entity As DTO
- Managed Bean Scope
- Summary
Chapter 22. Implementing Web Services with Spring
- Web Services in Spring Applications
- Spring Web Service Options
- Injecting Spring Components Into Web Service Classes
- Using Spring with JAX-WS Web Services
- Extending the SpringBeanAutowiringSupport Class
- Using a @PostConstruct Initialization Method
- Combining @PostConstruct and @Autowired
- Comparing Third Party Frameworks with Spring-WS
- Summary
Chapter 23. Spring JMS
- Spring JMS
- JmsTemplate
- Connection and Destination
- JmsTemplate Configuration
- Transaction Management
- Example Transaction Configuration
- Producer Example
- Consumer Example
- Converting Messages
- Message Listener Containers
- Message-Driven POJO's Async Receiver Example
- Message-Driven POJO's Async Receiver Configuration
- Summary
Chapter 24. Review of New Features in Spring 3.0
- Requirements and Supported Environments
- Using Spring with Servers
- Packaging
- Spring Expression Language
- Java-based Configuration
- Annotation-based Configuration
- Spring MVC Changes
- New Spring MVC Configuration
- Spring MVC Annotation Example
- Validation
- Summary
11/06/2023 - 11/10/2023
10:00 AM - 06:00 PM
Eastern Standard Time
USD $2,830.00
11/13/2023 - 11/17/2023
10:00 AM - 06:00 PM
Eastern Standard Time
USD $2,830.00
01/01/2024 - 01/05/2024
10:00 AM - 06:00 PM
Eastern Standard Time
USD $2,830.00