Java EE Agile Application Architecture with Spring and Hibernate

Duration: 4 Days

Prerequisites: Beginning to advanced knowledge of Java, HTML, and relational database technology.

Course Description

This course will present an application architecture that supports the short time boxed feature development of Java EE applications prescribed by popular agile/extreme development approaches.

Students will be presented with architecture and construction idioms and then apply them to a case study application through a series of lectures and hands on exercises. The Spring MVC and IOC open source frameworks will be used for presentation and model partitions of the application. A generic data access design pattern will be introduced that allows the engagement of any object relational mapping framework. Students will apply both Hibernate and IBATIS object relational mapping frameworks, since both excel in solving different O/R mapping challenges.

Java 5 annotations, aspect oriented programming (AOP) and Mock objects will also be used to facilitate agility.

When complete, student will have constructed a complete application using the architecture design patterns, frameworks, and idioms which they can then use as is with actual projects, or adapt to an existing Java EE application architecture.

Course Topics:

Layered Application Architecture Patterns

Applying Spring/Hibernate Frameworks

  • What do they provide, and how do they work?

Annotation-Driven POJO Development

  • How the Service design pattern supports scalability and POJO isolation
  • Learn how application model, data and object relational mapping is done in a single step
  • Hibernate OR Mapping

Generic/Transparent Data Access and Query Pattern

  • Applying the DRY principle to data access (Don’t Repeat Yourself)

Inversion of Control

  • Introduce how Springs IOC mechanism can be used to implement pluggable interface driven components
  • Learn how annotation support eliminated XML configuration files

Aspect Oriented Programming (AOP) for Logging and Exception Handling

  • How AOP supports cleaner code
  • Annotation driven and XML style aspects

Unit Testing

  • Introduce automatic test coverage mechanism
  • Learn how to consistently and easily define Unit Tests

Partitioning the UI with Spring MVC

  • Defining controllers without visiting XML configuration files (i.e. WEB.XML)
  • Mapping URLs and processing commands
  • Binding forms, wizards, and validation
  • JSTL and Spring taglib support
  • JSR 168 Portlet Support

Engaging Other Frameworks

  • Applying the IBATIS framework for impedance mismatch between model and database
  • JSF based user interfaces
  • How can Struts MVC be applied?

AJAX Support

Continuous Integration Support

  • The merits of CI and available solutions
  • Introduce pre packaged build ANT scripts
  • Ant or Maven?

More Information

To schedule this course or to get more information, please contact (877) 521-7769 or

Copyright © 2014 Keyhole Software, LLC.

Leave a Reply