Spring Framework Essentials
In this course, we’ll cover the essential topics you’ll need to know as a Spring Professional. You’ll learn how Spring Framework uses modern design principles, practices, and concepts to keep you focused on building business applications.
Prerequisites for Spring Framework Essentials:
- Developer experience using a modern Java IDE and build tools such as Maven or Gradle
- Completion of the “Introduction to Spring Professional” course
Course Outline
Agenda
In this lesson, we’ll cover what you’ll learn in our Spring Framework Essentials course.
What is the Spring Framework?
In this lesson, you'll be introduced to what Spring Framework is, and why to use it.
The Dependency Injection (DI) Container
Let’s learn about Spring as a Dependency Injection container.
Spring Framework History
In this lesson, you’ll learn the history of Spring Framework.
Spring Overview Lab
You’ll use Spring to configure the Reward Application, and then test it.
Demo - Spring Overview Lab
Let’s check out a demo using Spring to configure the Reward Application, then test it.
Quick Start with Java Configuration
You’ll learn how to configure Spring Beans using Java Code, then access them in your application.
The Application Context
You’ll create the Spring Application Context, and how to access Spring Beans from it.
Handling Multiple Configurations
In this lesson, we’ll split your Spring Bean configuration into multiple configurations.
Java Configuration Lab
In this lab, you’ll configure the completed reference domain by configuring pieces of the application, then run a top-down system test to verify application behavior.
Demo - Java Configuration Lab
Next, you’ll see how to get experience using Spring to configure the completed reference domain, and to configure the pieces of the application, then run a top-down system test to verify application behavior.
Use External Properties
You’ll learn how to use external properties to configure your Spring application.
Spring Profiles
You’ll use Spring Profiles to configure your Spring application.
Spring Expression Language (SpEL)
Now, you’ll use the Spring Expression Language (SpEL) to facilitate configuration of your Spring Application.
Annotation-based Configuration
Next, we’ll cover how to use annotations and component scanning to configure your Spring Beans.
Configuration Choices
Now, let’s compare the Java Configuration and Component Scanning methods of configuring beans, and recommendations for when to use each.
Adding Startup and Shutdown Behaviors
Let’s learn how to add behavior at creation and destruction times of your Spring Beans.
Stereotype and Meta Annotations
We’ll learn about the various stereotype annotations you might use with Component Scanning.
Annotations and Component Scanning Lab
Next, let’s get hands-on using Spring Component Scanning to configure the completed reference domain, and configure the pieces of the application, then run a top-down system test to verify application behavior.
Demo - Annotations and Component Scanning Lab
In this demo, you’ll see how to use Spring Component Scanning to configure the completed reference domain, and configure the pieces of the application, then run a top-down system test to verify application behavior.
Initialization Phase (Part 1)
Let’s start learning how Spring initializes the applications.
Initialization Phase (Part 2)
Let’s go deeper in our understanding of how Spring initializes the applications.
Use and Destroy Phases
Now, we’ll cover how Spring Bean Lifecycle usage and destroy phases can be used in your applications.
Bean Creation Order and Injection Issues
Let’s learn about the Bean Creation Order and Injection Issues that happen in the Spring Bean Lifecycle.
What Problems Does AOP Solve?
Let’s learn what AOP is, and discover some problems that it can solve in your Spring applications.
Core AOP Concepts and Quick Start
Let’s go over AOP core concepts and how to start with AOP Spring apps.
Defining AOP Pointcut Expressions
Here, you’ll learn what Pointcut Expressions are, and how to use them in your Spring apps.
Advice Types
Now, let’s learn how to use Advice Types in your Spring apps.
Introducing Aspect Oriented Programming Lab
Next, you’ll gain hands-on experience using AOP with Spring, and how to configure the completed reference domain. You’ll use different Pointcut Expressions and Aspects that help with the flow of the application behavior.
Demo - Introducing Aspect Oriented Programming Lab
In this demo, you’ll see how to use AOP with Spring, and how to configure the completed reference domain. You’ll use different Pointcut Expressions and Aspects that help with the flow of the application behavior.
JUnit 5
Next, we’ll cover testing your application, and how to use JUnit 5 with Spring.
Write Integration Tests using Spring
Let’s learn about writing Integration Tests in your Spring applications.
Configure Tests using Spring Profiles and working with Databases
Now, we'll configure your Tests using Spring Profiles, and start working with Databases.
Testing Spring Applications Lab
In this lab, you’ll get hands-on experience using JUnit 5 with Spring, and configure the completed reference domain for unit and integration tests.
Demo - Testing Spring Applications Lab
In this demo, you’ll see how to use JUnit 5 with Spring, and configure the completed reference domain for unit and integration tests.
Problems with traditional JDBC and into JdbcTemplate
Now, we’ll learn about problems with traditional JDBC and how the JdbcTemplate can help when working with Databases in Spring applications.
JdbcTemplate Basic Usage
Let’s cover basic usage of the JdbcTemplate when using Databases with Spring.
Working with ResultSets using Callbacks
Here, you’ll learn how to use ResultSets with callbacks that can map a Database Column/Row with Spring.
Exception Handling
Let’s learn how to deal with Database Exceptions using Spring.
JDBC Simplification with JdbcTemplate Lab
Now, you’ll gain hands-on experience with the JdbcTemplate while working with Databases in Spring, and how to configure the completed reference domain.
Demo - JDBC Simplification with JdbcTemplate Lab
In this demo, you’ll see how to use the JdbcTemplate while working with Databases in Spring, and how to configure the completed reference domain.
Why Transactions and how Java supports them
We’ll dive deeper into Transactions, and how Java supports them.
Spring Transaction Management
We’ll continue learning about Transactions management with Spring.
Configure Transaction Propagation
Next, we’ll learn how to configure Transaction Propagation with Spring.
Setup Rollback Rules and Testing support
Let’s configure rollbacks, then we’ll test support for Transactions in Spring.
Transaction Management with Spring Lab
In this lab, you’ll gain hands-on experience in Transaction management, propagation, and testing when working with Databases in Spring, and about how to configure the completed reference domain.
Demo - Transaction Management with Spring Lab
In this demo, you’ll see and learn about Transaction management, propagation, and testing when working with Databases in Spring, and about how to configure the completed reference domain.