The Complete Spring Framework Spring version 4

מידע וסילבוס - The Complete Spring Framework Spring version 4

The Spring Framework in an open source application framework for Java. This framework has taken the Java software community by storm. Its popularity 15 years later continues to rise and expand to other development communities like dot NET.

 

Spring provides the technology to develop everything from small, stand-alone applications to large, complex, enterprise systems out of simple POJOs (plain old Java objects). 

 

As the framework developed it spawned numerous industry standard child frameworks such as Spring Security, Spring Boot, Spring IO, Spring Data, Spring Batch, Spring Microservices and various others. We offer a the complete fundamental Spring Framework training programs for the novice Spring users and the basic tool set required in all Spring child frameworks. 

 

3 – 3.5 days of spring’s toolbox

 

In this section of the training program, students are exposed to the light-weight Spring container, configuration, foundational API, and general Spring architecture. This training program includes the complete Spring (version 4.3) tool box and focuses on the two main technologies applied to the Spring clockworks; Dependency Injection and Aspect Oriented Programming. This training program covers the entire Spring framework toolbox in it’s first 3 days. 

 

1.5 – 2 days: Spring MVC

 

Spring MVC is Spring's Model 2 framework for developing Web applications. It is an optional module in this training program but it’s concepts are fundamental to developing RESTful web applications and other modules, including Spring Boot.

 

The 4th to 5th  day of this training program, will include Spring’s web tier solution, the Spring MVC framework. Students will be exposed to this industry standard framework and learn how to use MVC to develop web applications. 

Day 1-3: Spring’s toolbox

 

Module 1 – Spring Overview

  • Spring Introduction 
  • Spring Philosophy
  • Spring Architecture
  • Spring & Maven
  • A Spring Application Analysis
  • extra – Lab 1: Spring Application Analysis

 

Module 2 – Dependency Injection + Bean Wiring

  • Spring Containers – ApplicationContext
  • Bean Definitions – XML vs. Annotations
  • Property Injection / Constructor Injection
  • Large Configurations
  • Lab 2: Bean Wiring

Module 3 – Bean Life Cycle

  • Bean Creation / Destruction
  • Awareness Interfaces
  • Bean Post Processors
  • Factory Post Processors
  • PropertyPlaceholderConfigurer
  • ResourceBunderMessageResource
  • Events and Event Handling
  • extra: Lab 3: Spring event listeners

Module 4 – Wiring Alternatives

  • Auto Wiring – By Name
  • Auto Wiring – By Type
  • Auto Wiring – Constructor
  • extra: Lab 4: Auto wiring

Module 5 – Configuration by Annotations

  • @Autowired / JSR-250 Annotations / JSR-330 Annotations
  • Stereotype Annotations
  • Java Configuration Annotations
  • Lab 5: Configuration by Annotations

Module 6 – Data Conversions

  • extra – Older Property Editors – Intro Only.
  • The Converter Interface
  • Conversion Service
  • extra: Lab 6 Data Conversion & Related Configurations

Module 7 – SpEL Spring Expression Language

  • Uses & Intro
  • extra – SpEl API
  • extra – Evaluating Expressions
  • Language Constructs
  • Operators and Method Invocation
  • JavaBean Properties
  • Working with Collections
  • The @Value Annotations
  • Query filter example

Module 8 – Aspect Oriented Programming

  • Cross Cutting Concerns
  • The Proxy pattern & Java Dynamic Proxy
  • AOP Concepts and Terminology
  • Spring's AOP Support
  • AOP Setup
  • @Aspect annotation Aspects / Advice / Pointcuts
  • Advice Parameters and Ordering
  • Introductions
  • extra – load time weaving
  • Lab 8:  auditing aspect configurations

Module 9 – Spring Data Access

  • The DAO Pattern
  • Exception Handling
  • Data source configuration
  • JDBC Templates & Callbacks
  • extra – Working with Hibernate / JPA
  • Spring Data JPA repositories
  • Lab 9: Config. & Use Spring Data Repositories

Module 10 – Spring Transactions

  • The transaction manager
  • extra – attributes of a transaction (ACID)
  • Declarative Transactions via @Transaction annotation
  • extra – programmatic trx via Transaction Template
  • extra: Lab 10 – Transact your previous labs

Module 11 – Unit Testing via Spring Test Context

  • Spring and Unit Testing / Junit (or TestNG)
  • Spring TestContext Framework
  • Configuring test cases via TestContext  Annotations
  • Unit Tests
  • Transaction Management in testing
  • extra – mock tests
  • extra – LAB 11 create unit tests for your previous labs 

Day 4/5: Spring MVC

 

Module 12 – Spring MVC Overview

  • What is MVC
  • Spring MVC Architecture
  • Analysis of a first Spring MVC Application

Module 13 – MVC Configurations

  • DispatcherServlet 
  • Context Configuration
  • Context Loaders
  • View Resolvers

Module 14 – Annotation Based Controllers

  • Controllers
  • Request / Method Mapping Annotation
  • Path Variables
  • Handler Method Parameters
  • Handler Method Return Types
  • Command Beans and Working with Forms
  • BindingResult and Errors
  • Exception Handling

 

* extra modules (if time permits):

 

Module 15 – Validation

  • Validator
  • JSR-303 Validation

Module 16A (either 16A or 16B )– Spring Views

  • Binding Form Data
  • At least 1 year experience developing Java applications
  • Good OOP skills and familiarity with GoF design patterns. 
  • Familiarity with JDBC API’s and/or JPA API’s
  • Familiarity with JDK 8 lambda expressions and streams
  • Please Note: Topic Durations are Estimations. The given time constraints depend on class sizes and the technical level of students. The general Spring toolbox training requires approximately 3 days and is usually supplemented for a couple of extra hours on the 4th day. The MVC module usually fills up the rest of the training program.  
  • Basic Spring Toolbox: 3 to 3.5 days (24 – 28 Hours) 
  • Spring MVC: 1.5 – 2 days (12 – 16 hours)

Interbit certificate

לשיחה / תאום פגישה עם יועץ לימודים: