Course Number: JAVA.046
Duration: 3 days (full-day sessions) OR Weekend/Evening sessions
Training Overview: It starts with the basics of Spring and in-depth coverage on using the powerful capabilities of the Core module to reduce coupling, increase flexibility, and ease the maintenance and testing of your applications. It goes on to cover all the important capabilities of Spring 2.0, such as Inversion of Control, Dependency Injection, using Spring to simplify the creation of a persistence layer with JDBC and/or persistence frameworks like Hibernate, and using Spring's Aspect Oriented Programming (AOP) to program cross-cutting concerns such as transactions and security. The course also covers Spring’s Web MVC - a Web framework based on the powerful Model-View-Controller pattern.
Location and Pricing: Most of our courses are conducted online OR at our training facility and are customized to meet our students needs. We also provide customized onsite training at our clients' locations. Pricing for an online course depends on if its a weekend/evening course or a full day course. The weekend/evening courses are most cost-effective as they are spread over a period of weeks giving you ample time to complete the hands-on exercises. To receive a customized proposal that will fit your schedule and price quote, please contact us 
Training Prerequisites: All attendees must have at least one year of full-time Java and JSP development experience. Prior experience with Data Persistence and Java web services is recommended but not required.
Training format: This class is 60% lecture, 40% hands-on, with one-on-one dedicated time-slots with the instructor.
Training Materials: All students receive a copy of related courseware / material.
Software Needed on Each Student PC:
- Java SE SDK
- Relational Database (RDBMS) - if you don't have one, HoneZone instructor will provide one.
- Java IDE of your choice (We will advise on specific versions of the software required based on your standard development and production environments.)
- Additional software - please contact us for a detailed setup sheet
Training Objectives:
- Understand the scope, purpose, and architecture of Spring
- Use Spring's Inversion of Control to declare application components, rather than hard-coding their states and lifecycles
- Use Dependency Injection to further control object relationships from outside the Java code base
- Create validators for business objects, and associate them for application-level and unit-testing uses
- Build a Web application as a Spring DispatcherServlet and associated application context, with declared beans acting as controllers, command objects, and view resolvers.
- Build and manage HTML forms with Spring command objects and custom tags
- Use Spring interceptors to implement horizontal features in the Web application
- Connect business objects to persistent stores using Spring's DAO and ORM modules
Training Outline:
- Overview
- Java EE: 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
- 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
- Dependency Injection
- Complex Systems
- Assembling Object Graphs
- Dependency Injection
- Single and Multiple Relationships
- The Utility Schema
- Autowiring
- Bean Aliases
- Order of Instantiation
- Validation
- Validators
- The Errors Object
- ValidationUtils
- Error Messages and Localization
- Nested Property Paths
- The Web Module
- 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
- Customizing Spring MVC
- HandlerMapping Options
- ViewResolver Options
- Chaining View Resolvers
- Triggering Redirects
- Controllers and Commands
- Working with Forms
- Command Objects
- The Template Method Pattern
- Command Controllers
- Data Binding
- MultiActionController
- Scope and Granularity of Command Objects
- Web Binding and Validation
- Property Editors
- Custom Property Editors
- Registrars
- Validating Form Input
- Form Controllers
- Form Controllers
- AbstractFormController
- SimpleFormController
- Spring Custom Tags
- <form:form> and Friends
- <form:errors>
- Reporting Errors
- 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"
- 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
- Final Overview
|