Overview

Courses Benefits

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 framework. Through intensive hands-on exercises, you learn how to implement high-performance applications while reducing development time.The instructor brings with him a wealth of corporate and training experience on disciplines of enterprise Java development. A SpringSource Certified Professional, his passion is to help individuals maximize their potential as Java developers. He continues to receive encores in his training programs as he inspires learning and application in various areas of Java technology.

You Will Learn How To

  • Develop scalable enterprise Java applications using Spring
  • Build application infrastructure using Inversion of Control (IoC) and Dependency Injection (DI)
  • Perform unit testing using jUnit, integration testing using mocks and Spring's test support classes
  • Add a flexible application user interface with Spring Model View Controller (MVC)
  • Segregate beans to use for different environments using Spring Profiles
  • Use Spring JDBC to simplify database access and Spring Data JPA
  • Be more productive in Spring development using Spring Source Tool Suite Eclipse IDE

Who Should Attend

Architects, programmers, engineers, managers and those involved in the development of complex enterprise-level Java applications. Knowledge of Java at the level of Course 321 - Java Programming, plus real-world Java programming experience, is assumed.

Course Outline

Introduction to Spring

  • The Spring Framework
  • How the Spring Container Works
  • Spring Modules
  • Setting Up a Spring Development Environment
  • Using Spring Boot

Bean Configuration via XML

  • Creating the Bean Configuration File
  • Declaring a Bean
  • Interjecting Dependencies
  • Property Editors
  • Creating the ApplicationContext
  • Autowiring Beans
  • Component Scanning
  • Inheriting Bean Definitions
  • Bean Scopes

Bean Configurations via Annotations

  • Creating the Configuration Class
  • Declaring a Bean
  • Interjecting Dependencies
  • Creating the ApplicationContext
  • Component Scanning
  • Autowiring Beans
  • Bean Scopes

Spring Testing Support

  • Unit Testing
  • JUnit 4 Annotations
  • Assertions
  • Using Spring Testing Support
  • Running Spring Boot Tests
  • Mocks
  • Using Mockito

Spring JDBC

  • Problems with JDBC
  • Using JdbcTemplate
  • Handling Exceptions
  • Running Database Unit Tests

Transaction Management

  • Understanding Transactions
  • Understanding Transaction Management with JDBC
  • Managing Transactions in Spring
  • Specifying Propagation Behavior
  • Using @Transactional in Unit Tests

Spring Profiles

  • Introducing Spring Profiles
  • Specifying the Active Profile
  • Creating Profile-Specific application.properties
  • Using Spring Profiles
  • Creating Spring Profile-Specific Beans
  • Specifying Default Beans
  • Using Property Files

Spring MVC

  • The MVC Design Pattern
  • Setting Up a Spring MVC Application
  • Spring MVC Components
  • Mapping URLs to Controllers
  • Getting Request Parameters
  • Getting Path Variables
  • Passing Data from Controller to View
  • Redirecting
  • Resolving View Names
  • Quickstart to Spring MVC

Spring Data JPA

  • Introducing JPA
  • Setting Up Spring Data JPA
  • Initializing Data
  • Creating Spring Data Repositories
  • Creating Custom Repository Methods