Java EE Programming with Spring 3 Using Eclipse and WebSphere Training

This course shows how to use the popular Spring framework with some of the most recent Java EE technologies on the WebSphere platform. Rather than using technologies like Servlets, JSP, and Hibernate, this course highlights how more recent technologies can make Java EE application programming easier while also relying on standard technologies to ease deployment to various platforms. This course can provide an introduction to the various technologies in addition to Spring so that students can immediately be effective developers.

Course Outline

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 2.0

  • What is JavaServer Faces (JSF)?

  • Why Use JSF?

  • Nature of a JSF Application

  • JSF Implementations

  • JSF and MVC

  • Faces Servlet

  • Faces Servlet URL Mapping

  • Managed Bean

  • The View Layer

  • XML Validity of a Page

  • A Simple JSF Application

  • The Input Form: form.xhtml

  • The Result: thanks.xhtml

  • The Controller: AddressBean

  • How Does the Application Work?

  • Under the Covers: The Rendered Form HTML

  • Under the Covers: The Layout Tree

  • Additional References

  • Summary


CHAPTER 9. BASIC MANAGED BEAN AND JSF EXPRESSION AND SCOPE

  • Introduction

  • JSF Expression Language (EL)

  • Simple Value Property

  • Complex Value Property

  • Method Expression

  • Managed Bean Scopes

  • Implications of Various Scopes

  • View Scoped Managed Beans

  • Defining Managed Bean Scope

  • Getting Rid of the Session

  • Application Scope

  • "None" Scope

  • Custom Scopes

  • Summary


CHAPTER 10. USING JSF WITH SPRING

  • JSF Integration Options

  • DelegatingVariableResolver

  • SpringBeanVariableResolver

  • SpringBeanFacesELResolver

  • Spring Bean Scopes

  • FacesContextUtils

  • JSF with Spring Web Flow


CHAPTER 11. BASIC JSF USER INTERFACE COMPONENTS

  • JSF UI Components

  • JSF UI Tags

  • A Basic Page

  • Define a Form

  • Labels and Images

  • Button

  • Links

  • Output Link

  • Text Input

  • Simple Check Box

  • Check Box Group

  • Check Box Group Example

  • Radio Button

  • List Boxes

  • Multiple Selection List Box

  • Dynamic List Box

  • Example

  • Component Identifier

  • Showing and Hiding Components

  • Other Common Attributes

  • Adding JavaScript and Stylesheet

  • Summary


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

  • Passing Arguments

  • 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

  • Summary


CHAPTER 13. JSF NAVIGATION

  • JSF Navigation

  • Example Action Event Handler

  • Implicit Navigation

  • Pros and Cons of Implicit Navigation

  • Defining Rules in faces-config.xml File

  • Stating the Source View ID

  • Stating the Action Handler Method

  • Global Rule

  • Doing Redirection

  • Implementing Redirection

  • Conditional Navigation

  • Preemptive Navigation

  • Summary


CHAPTER 14. ADVANCED JSF USER INTERFACE COMPONENTS

  • HTML Panel

  • Applying Styles

  • Grouping Components

  • Data Table

  • Using a Data Table

  • Displaying a Header and Footer Row

  • Applying Styles

  • Adding Links to a Row

  • Handling Action

  • Summary


CHAPTER 15. OVERVIEW OF JAVA PERSISTENCE API

  • Data Persistence

  • Java Persistence API

  • Entities

  • Session EJB vs JPA 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

  • TypedQuery

  • Bulk Updates

  • Bulk Delete

  • Running Native SQL Query

  • Native SELECT Query

  • Native SQL Delete and Insert

  • Named Native Query

  • Summary


CHAPTER 19. BASIC JPA 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

  • Modeling Unidirectional One-to-Many - @JoinTable

  • Modeling Unidirectional One-to-Many - @JoinColumn

  • 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 REST SERVICES

  • Many Flavors of Services

  • Understanding REST

  • RESTful Services

  • REST Resource Examples

  • REST vs SOAP

  • REST Services With Spring MVC

  • Spring MVC @RequestMapping with REST

  • Working With the Request Body and Response Body

  • Implementing JAX-RS Services and Spring

  • JAX-RS Annotations

  • Java Clients Using RestTemplate

  • RestTemplate Methods

  • Summary


CHAPTER 24. 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 25. 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

Audience

Software designers, developers and programmers.

  • Program Java applications - Course BSP-1278 meets this requirement.

Available Course Dates

07/24/2017 10:00 am - 07/28/2017 6:00 pm
08/07/2017 10:00 am - 08/11/2017 6:00 pm
11/13/2017 10:00 am - 11/17/2017 6:00 pm
Click here to sign up for this class