Spring 2.5 og Hibernate 3.x

Varighet: 5 dager
Pris: 20000,-
Vis interesse
Dette dyptpløyende, avanserte kurset gir utviklere best practices for utvikling ved bruk av Spring.
Beskrivelse:
Kurset gir også tips og teknikker for å arbeide med verktøy og teknologier i et utviklingsmiljø.
Kurset gir en omfattende dekning av Hibernate. Kurset legger stor vekt på øvelser, og inneholder massevis av demoer. Du vil være i stand til å bruke Hibernate det øyeblikket kurset er ferdig.
Målgruppe:
This is an intermediate level Java programming course, designed for developers who wish understand Hibernate and Spring.
Forkunnskaper:
The student should be an experienced J2EE / Java programmer, with practical development experience using Servlets/JSPs

Session: Review of the Spring Framework

Lesson: The Spring Framework and IoC

  • Understand the value of Spring
  • Explore IoC/DI
  • Configuring collaborators
  • Understand built-in property editors

 Lesson: The Spring IoC container

  • Instantiate the IoC container
  • Introduce the spring configuration file
  • Configure beans within the spring configuration file
  • Configure bean properties using the Spring configuration file
  • Configure collaborators
  • Understand built-in property editors

Lesson: Advanced Spring Container Features


  • Introduct some of Spring’s callback interfaces
  • Provide an overview of Spring’s factory beans
  • Re-use bean definitions in the configuration file
  • Create custom property editors
  • Introduce the PropertyPlaceholderConfigurer 
  • Use placeholders in the configuration file
  • Explain the use of factory beans
  • Add internationalization using MessageSources 
 Session: Advanced Spring configuration

Lesson: XML Schema based configuration

  • Explain XML-Schema based configuration
  • Introduce the util namespace
  • Introduce the context namespace  

Lesson: Annotations and Container Extension Points

  • explain the use of BeanPostProcessors
  • use annotations to define bean dependencies
  • become familar with the @Autowired annotation
  • use @Qualifier and bean meta data
  • develop your own qualifier annotation
  • understand the use of the JSR-250 @Resource annotation
  • add lifecycle annotations to the bean
  • use stereotype annotations within the bean
  • explain the use of the @Repository, @Service and @Controller annotations 

Session: Spring AOP Framework

Lesson: Introduction to Aspect-Oriented Programming

  • explain the basics of AOP
  • introduce AOP support within Spring 

Lesson: Spring AOP

  • Understanding Spring AOP 
  • introduce the AOP alliance API
  • Explain how to develop interceptors (aspects)
  • become familiar with the AspectJ language to define pointcuts
  • understand how XML-Schema based AOP definitions are added to the Spring configuration file. 

Session: Spring Data Access Support

Lesson: Overview

  • Understand the Spring DAO
  • Understand Transaction Demarcation within Spring 

Lesson: Spring JDBC

  • Overview of Spring JDBC support
  • Defining DataSources
  • JDBC Exceptions and the SQLExceptionTranslater within Spring
  • Creating JDBC DAOs
  • Using the JdbcTemplate class
  • Mapping rows to Objects using the JdbcTemplate
  • Mapping data to Objects using SQL Helper Objects (Operation Classes) 

Lesson: Spring Hibernate

  • Overview of Spring Hibernate support
  • Session and connection management
  • Creating Hibernate DAOs 
  • Using the hibernateTemplate class 

Session: Introduction to Hibernate

Lesson: Introduction to Hibernate

  • Define Obect to Relational (O/R) Mapping (ORM)
  • Define the Hibernate Architecture
  • Illustrate the benefits of using Hibernate
  • Understand the goals of Hibernate 
  •  Understand key functionalities of Hibernate
  • Define the different Hibernate types (Entities and values) 
  • Understand different Persistent representations (POJOs, Maps and XML) 


Lesson: Getting started with Hibernate

  • Understand the nuts and bolts of Hibernate
  • Understand how to map a class to the database
  • Understand the configurations involved and their relationships
  • List different ways of configuring Hibernate
  • Understand the overall syntax of the Hibernate Configuration file
  • Understand the overall syntax of a mapping file
  • Introduce the org.hibernate.SessionFactory
  • Introduce the org.hibernate.Session
  • Understand one way of obtain a session using Hibernate contextual sessions
  • Supply a basic example of using Hibernate 

Session: ORM with Hibernate

Lesson: Basic ORM

  • Configure persistent classes
  • Configure persistent state of a class
  • Understand the requirements for a persistent entity class
  • Understand object identity in Hibernate
  • Understand how to correctly implement equals and hashCode in Hibernate
  • Discuss object identity and a caveat in hashCode and equals implementations
  • Discuss different ways of generating unique numbers for keys
  • Understand how to influence mapping to columns
  • Understand how to map properties of a class to multiple tables Lesson: Value Type Collections and Components
  • Understand how to map composition using Hibernate’s components
  • Understand how to use components as composite identifiers
  • Understand the different collection types supported
  • List different element types: simple types, composite types and entities
  • Understand programming restrictions when using collections
  • Understand how to map java.util.Set and java.util.List
  • Understand how to position elements explicitly in the List
  • Understand how to map java.util.SortedSet
  • Understand how to correctly use a Comparator
  • Understand how to map a java.util.Map
  • Understand how to map the key of the map
  • Understand Hibernate’s bags
  • Introduce Dynamic components 


Lesson: Entity Associations (Relations)

  • List the different types of associations
  • Understand the difference between uni and bidirectional associations
  • Understand how to map unidirectional one to one, many to one and one to many associations
  • Understand how and when to use join tables 
  •  Understand how to map many-to-many associations 
  •  Understand how to configure bidirectional associations
  • Understand how to cascade over associations 

 Lesson: Mapping Inheritance

  • Discuss the three Inheritance ORM strategies
  • Discuss the Single Table Inheritance Pattern (i.e. table per class hierarchy)
  • Discuss the Class Table Inheritance Pattern (i.e. table per subclass)
  • Discuss the Concrete Table Inheritance Pattern (i.e. table per concrete class)
  • Discuss Hibernate’s implicit polymorphism strategy
  • Understand how to configure these mappings
  • Understand the concept of a discriminator  

Session: Using Persistent Objects

Lesson: Reading, Updating and Deleting Objects

  • Understand the three object states: Transient, Persistent and Detached
  • Understand how to transition from the transient to persistent state (i.e. how to make objects persistent) 
  • Understand how to retrieve hibernated objects using the primary key
  • Understand how to update entities which are in the persistent state (attached updates)
  • Understand how to transition entities from persistent to detached state
  • Understand the detached state of an entity
  • Discuss the briefcase model
  • Understand how to transition from detached (back) to persistent (i.e. how to re-attach detached objects)
  • Understand the difference between update and merge
  • Removing entities
  • Discuss the different cascade options and their impact on entity associations 


Lesson: Transactions

  • Describe the need for transaction control
  • Explain isolation levels
  • Discuss the three different ways of demarcating transactions
  • Understand the different ways of demarcating transactions in a managed Java EE environment
  • Understand how to correctly use the contextual session
  • Use the Hibernate Transaction API to hide transaction implementation
  • Correctly handle exceptions
  • Understand Optimistic -vs- Pessimistic locking schemes
  • Implement Optimistic concurrency using Hibernate’s automatic versioning 
  • Implement Pessimistic concurrency using Lock modes
  • List different optimistic lock modes supported in Hibernate 
  • Understand locking using read for update
  • Understand the read for update scope on association (and how to cascade the lock) 

Session: Querying in Hibernate

Lesson: Querying for Objects

  • Introduce two ways of querying (Criteria and HQL)
  • Understand the basic HQL syntax
  • Introduce the org.hibernate.Query class
  • Work with the results of a query
  • Handle different result set element types (unique, array of entity, scalar)
  • Use the relationships between entities in your HQL
  • Use HQL expressions
  • Use aggregate functions
  • Use the group by clause 
  • Understand how to enable Pagination
  • Use parametrized HQL
  • Understand the concept of Named Queries
  • Use the org.hibernate.Criteria to query
  • Understand how to use Query By Example (QBE)
Tips en kollega/venn om dette kurset
© Kantega 2003 - 2010 - Kontaktskjema