Spring: Simplifying Java Applications

October 8-11 2013, JHU Dorsey Center, Elkridge MD
Co-Sponsored by Johns Hopkins Engineering for Professionals

The previously separate Spring and Hibernate courses have now been combined into a single Spring and Hibernate training course. Please see that course listing, or contact hall@coreservlets.com for information on a customized onsite version at your location. Lower price, more convenient for your developers, and customizable content. For clients in the Baltimore/Washington area, late afternoon, evening, or weekend sessions can be arranged.

“Outstanding whirlwind exploration of Spring and Hibernate, with assured answers to specific questions. Highly enthusiastic instruction (I am in awe!).”

“This has been a fantastic course... I've come out of this class with a very firm grasp on Hibernate and Spring technologies.”

“Lots of cutting-edge [Spring and Hibernate] technology instruction taught in a student-friendly manner.”

“Matt is a great instructor -- very knowledgeable in the subject matter, very willing to answer any/all questions.”

more student reviews

This page describes the public (open enrollment) training course on the Spring Framework to be held at in Elkridge, MD (co-sponsored by the Johns Hopkins University Engineering for Professionals program). The entire course is personally developed and taught by experienced Java EE developer and instructor Matt Cherry. No contract instructor regurgitating someone else's materials!

If you are looking for customized training courses on Java 7 or 8, JSF 2, PrimeFaces, Android, Ajax, jQuery, Hadoop (and Hadoop cerfication), GWT, Spring, Hibernate, Servlets, JSP, HTML5, or RESTful Web Services taught on-site at your company, please see this page.

Register Early! Five of coreservlets.com's previous public short courses were full, so reserve your spot today. Registrations are taken in the order they are received.

Course Overview

Though extremely powerful, Java application development has been considered by some to be overly complex. Java EE development offers even more capability, but with an even higher learning curve. Java EE often requires the presence of an application server, which may be overkill for many projects.

Enter Spring: this framework makes application development simpler, faster, and better designed. This course will expose students to new ways of designing systems, levering concepts such as dependency injection, which is gaining major traction as the preferred way to design flexible architectures through lightweight containers such as Spring. Learn how this technology increases developer productivity and promotes flexible design by providing boilerplate infrastructure support of a system. This approach allows developers to concentrate on what's really important: the business logic of their code. Not only does Spring make things easier, but it also provides many of the features and capabilities previously only available within an application server environment. Spring also prides itself on integrating with other technologies — not competing with them — and these integration points are demonstrated to students throughout the course in both lecture as well as exercises.

Coreservlets.com normally runs on-site J2EE and Ajax training courses at customer locations. This is easier administratively, is better for clients since the topics can be customized, and is more cost effective for students since no travel is required. However, due to demand from those who do not have enough students for an on-site course, coreservlets will be running a public (open enrollment) Spring training course October 8-11 in Elkridge MD.

The course is taught by experienced Java EE developer and instructor Matt Cherry.

About the Instructor

Matt Cherry is an experienced enterprise architect, J2EE software engineer, and Oracle DBA. He has worked in both the private and public sectors, including the intelligence community, where he has designed and built a number of real-world systems using Spring, Hibernate, Web Services, and related technologies. In addition to being an instructor for coreservlets.com, Matt is a full-time consultant for Elegant Technical Solutions (ETS) where he leads several large enterprise projects. Matt also serves as an adjunct professor in the part-time graduate program for Computer Science at Johns Hopkins University, where he teaches Enterprise System Design and Implementation.


The course consists of an approximately equal mixture of lecture and hands-on lab time. It assumes that all students have moderate to strong Java skills; it is not a course for newcomers to Java. It does not assume any previous exposure to Spring, Hibernate, or JPA.


JHU/EP Logo The course will be held at the Johns Hopkins Dorsey Center in Elkridge, Maryland. This is a modern, comfortable venue with separate computers for each student, fast internet connections, and with coffee, snacks, and meals included. Class meets from 8:30 am to 4:30 pm daily. For students who prefer to bring their own laptops, fast wifi is available, and you can email the instructor for information on installing the class software in advance.

For Maryland residents, the location is centrally located 5 minutes from BWI airport and has plenty of free parking. For out-of-town students, there are many hotels within 1 mile.


The four-day course costs $2095 per student and includes an extensive course notebook, a commercial textbook, exercises, exercise solutions, breakfast, snacks, and lunch. Compare this price to courses from Sun, Learning Tree, GlobalKnowledge, and Oracle University that cost around $2400 for four-day courses and $3000 for five-day courses that do not include textbooks or meals. Besides, those courses almost always use an unknown instructor who did not develop the course materials and often lacks significant real-world development experience.

To register, fill out and send in the course registration form. Space is limited: six previous offerings of coreservlets.com courses were full. Bonus: Register at least a week in advance and get a $50 gift certificate from amazon.com.

Questions and More Info

  • Guinea pigs? No! coreservlets.com courses are well-tested, having been taught in 7 countries and dozens of US venues. We don't use your developers as guinea pigs for new materials.
  • Regurgitation? No! Matt developed all his own materials. No contract instructor regurgitating memorized PowerPoint slides.
  • Green? No! Matt is an experienced developer, and has built several applications using Spring that are still in use today. The course gives best practices and real-world strategies. No newbie instructor dodging tough questions.


Introduction to Inversion of Control and Aspect Oriented Programming

  • Brief history/origin on Spring
  • Design considerations used by Spring authors
  • Discuss interface-driven development
  • Overview of Spring architecture components

The Spring IoC Container

  • Spring configuration
  • Defining and instantiating beans
  • Dependency Injection
  • Bean scope, inheritance and relationships
  • Lifecycle call backs

Aspects in Spring

  • AOP Concepts
  • Advice, Pointcuts and Aspects
  • AspectJ Annotations
  • XML configuration of Aspects

Data Access Integration with JDBC

  • Data sources & connections
  • JDBC Templates
  • Batch Operations

Data Access Integration with ORM

  • Hibernate Template
  • JPA Template
  • Walk through simple example from Hibernate lectures with Spring additions

Transaction Management

  • Attributes of Transaction Management
  • Declarative Transactions Management
  • Programmatic Transaction Management
  • Integration with Application servers

Remoting with Spring

  • RMI
  • EJBs
  • JMS
  • Web services

Spring MVC

  • Dispatcher Servlet
  • Controllers
  • Handler Mappings
  • Views, Locales, Themes
  • Exception Handling

Spring MVC Integration with Other Presentation Technlogies

  • JSP & JSTL
  • Integration with Struts & Tiles
  • Integration with JSF

Other Enterprise Framework Components

  • Integration with scheduler components (Java Timer, Quartz)
  • Thread Pool Management
  • OXM (Object XML Mapping)
  • Testing with Spring