Faven Software
English language
 
Język polski

Spring 3 Fundamentals with Hibernate

Overview

Developing robust Java enterprise applications is a complex process often requiring extensive infrastructure code. In this course, Java developers learn how to quickly build enterprise Java applications using the industry-standard Spring and Hibernate frameworks. Through intensive hands-on exercises, you learn how to implement high-performance applications while reducing development time.

Audience

Students who can benefit from this course include java programmers who require effective, real-world skill-building in Spring and Hibernate Frameworks.

Prerequisites

A minimum of 6 months programming experience in the Java language prior to attending this course will be necessary to be successful in understanding the course material. Students should be comfortable with JSP, Servlets and basic XML.

Course Format

This is a hands-on course. We apply a powerful learning cycle of short lecture, examples and labs on each topic. Each student gets lab code and the entire course content printed out (organized in a ring binder).

Course Duration

Five days (35 hours), 9:00 AM-5:00 PM (1h lunch break); typically ends by 4:00 PM on the last day.

Course Details

  1. Overview
    • Web Applications
    • JEE: The Good, The Bad, and the Ugly
    • Enter the Framework
    • Spring Modules
    • Controlling Object Creation Web Applications
    • Persistence Support
    • Aspect-Oriented Programming
    • Integrating Other Frameworks
  2. Core Techniques
    • Component-Based Software
    • JavaBeans, Reconsidered
    • The Factory Pattern
    • Inversion of Control
    • XML View: Declaring Beans
    • Java View: Using Beans
    • Singletons and Prototypes
    • Initializing Bean State
  3. The Business Tier
    • Complex Systems
    • Assembling Object Graphs
    • Dependency Injection
    • Single and Multiple Relationships
    • Autowiring Bean Aliases
    • Order of Instantiation
    • Validation
    • Nested Properties
  4. The Web Tier
    • Servlets and JSPs: What's Missing
    • The MVC Pattern
    • The Front Controller Pattern
    • DispatcherServlet
    • A Request/Response Cycle
    • The Strategy Pattern
    • JavaBeans as Web Components
    • Web Application Contexts
    • Handler Mappings
    • "Creating" a Model View Resolvers
  5. Controllers and Commands
    • Working with Forms
    • Command Objects
    • The Template Method Pattern
    • Command Controllers
    • Data Binding
    • MultiActionController
    • Scope and Granularity of Command Objects
  6. Working with Forms
    • Property Editors
    • Validating Form Input
    • Form Controllers
    • AbstractFormController
    • SimpleFormController
    • Spring Custom Tags and Friends
    • Reporting Errors
  7. Refining the Handling Cycle
    • The Intercepting Filter Pattern
    • Exception Handling
    • Interceptors
    • The Decorator Pattern
    • Context and Lifecycle Awareness
    • Interfaces
    • Support and Utility Classes
    • "Death By XML"
  8. The Persistence Tier
    • The DAO Pattern
    • The DaoSupport Hierarchy
    • The DataAccessException Hierarchy
    • JDBC DAOs
    • JdbcTemplate and RowMapper
    • Object/Relational Mapping
    • Hibernate DAOs
    • Transaction Control
    • AOP vs. Annotations
  9. Spring JMS
    • Overview
    • Templates
    • Connection, Destination, Transaction management
    • Sending and Receiving Messages (sync/async)
    • Listeners
    • Message-driven POJOs
  10. Spring Testing
    • Unit Testing
    • Integration Testing
    • Mocks, Stubs, Fixtures
    • jUnit Integration
    • Spring TestContext Framework
  11. Spring AOP
    • Overview
    • Concepts
    • Proxies
    • @AspectJ vs Spring AOP
    • API and Built-in Aspects
    • Defining and Using Aspects
  12. Spring Security
    • Overview of container-managed security
    • Overview of Spring Security framework (a.k.a. Acegi)
    • Switching from container-managed to Spring security
    • Installing and configuring Spring Security
    • Exposing security context in the application
  13. Persisting Objects with Hibernate
    • Integrating Hibernate
      • Simplifying data access with O/R mapping
      • Unraveling the Hibernate architecture
      • Deploying and configuring Hibernate
    • Generating Hibernate applications
      • Developing the persistent class
      • Defining the Hibernate mapping rules
      • Storing and retrieving Java objects
  14. Handling Complex Object Relationships
    • The role of the Hibernate Session
    • Establishing a thread-safe session object
    • Defining object states: transient, persistent, detached
    • Mapping collections
      • Persisting and retrieving collections
      • Preserving collection order for data integrity
    • Strategies for building object associations
    • Specifying one-to-many and many-to-many relationships
    • Controlling the association life cycle
    • Effectively mapping inheritance relationships
    • Applying class rules for inheritance
    • Techniques for class-database mapping
  15. Optimizing Data Access
    • Applying Hibernate Query Language (HQL)
    • Selecting and filtering queries
    • Improving structure with named queries
    • Augmenting HQL with native SQL
    • Maximizing Hibernate performance
    • Accelerating data access via Hibernate cache
  16. Integrating Spring and Hibernate
    • Employing the Spring Hibernate template
    • Configuring Hibernate resources in Spring