Spring 5 Core - An Ultimate Guide
3.7 (94 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
6,388 students enrolled

Spring 5 Core - An Ultimate Guide

Learn Spring 5 : Core Concepts, Dependency Injection, Bean Configuration, Autowiring, AOP, SpEL
3.7 (94 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
6,388 students enrolled
Created by Somnath Musib
Last updated 8/2019
English
Current price: $26.99 Original price: $44.99 Discount: 40% off
1 day left at this price!
30-Day Money-Back Guarantee
This course includes
  • 8.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Spring Framework Core Concepts
  • Spring History
  • Environment Set up in STS and Intellij Idea
  • Spring Dependency Injection
  • Configuring Spring IoC Container through XML configuration
  • Configuring Spring IoC Container through Java annotation configuration
  • Spring Bean Autowiring - ByName, ByType, Constructor
  • Spring Bean Life Cycle Callbacks, Bean Post Processor,
  • Spring Aspect Oriented Programming, Concept of AOP, Aspect, Advice, Join Point, Pointcut, Different Advise types
  • Spring Task Executor - SyncTaskExecutor, SimpleAsyncTaskExecutor, TaskExecutorAdapter
  • Spring Bean Communication - ApplicationEvent, ApplicationListener, ContextClosedEvent, ContextRefreshedEvent, ApplicationEventPublisherAware, @EventListener
Course content
Expand all 121 lectures 08:42:09
+ Setting Up the development environment
7 lectures 26:16
Introduction
00:21
Create a Maven project in Spring Tool Suite
08:11
Create a Maven project in Intellij IDEA
06:31
Module Summary
00:30
+ Introduction to Spring Core Concepts
15 lectures 01:06:59
Introduction
03:30
Spring History
01:11
Spring for developer
01:25
Spring Modules
03:33
Object Dependency Management
11:03
Object Dependency Management - Drawbacks
01:35
Spring Dependency Injection
02:33
Concept of POJO and Beans
02:23
Spring Inversion of Control Container
05:11
BeanFactory Interface
00:44
ApplicationContext Interface - The Spring IoC Container
01:34
Demonstration - Introduction
00:54
Demonstration - XML based bean definition
17:58
Demonstration - Java annotation based bean definition
12:04
+ Configuring Spring beans - XML Based Configuration
16 lectures 01:47:17
Introduction
00:44
Constructor Injection
11:16
Setter Injection
05:35
Constructor Injection vs Setter Injection
02:40
Spring bean Dependency Resolution Process
02:30
Bean Collaboration
16:00
Circular Dependency
07:53
Importing Resources
12:32
Inner Bean
02:44
Managing Java Collection in Spring bean definition
16:39
Merging similar Java Collection types in Parent and Child classes
11:09
Explicit Bean dependency through Depends On
08:13
Bean Lazy Initialization
01:26
Loading more than one bean definition through ClassPathXmlApplicationContext
02:34
Loading bean definitions from file system using FileSystemXmlApplicationContext
03:40
Module Summary
01:42
+ Autowiring Beans
8 lectures 21:15
Introduction
02:04
Modes of Autowiring
02:05
No Autowiring
03:06
Autowire byName
04:18
Autowire byType
04:16
Autowire Constructor
03:27
Drawbacks of Autowiring
01:17
Module Summary
00:42
+ Configuring Spring Beans - Java Based Configuration
10 lectures 01:03:58
Introduction
02:04
@Configuration
08:57
Autowire with JavaConfig
10:40
Autowiring of array type and collection type
10:31
@Primary Annotation
07:34
@Qualifier Annotation
02:43
Managing multiple configurations
10:42
Bean Scope
07:31
DependsOn
02:50
Module Summary
00:26
+ Spring Beans in Depth
18 lectures 01:32:37
Introduction
01:17
Bean Life Cycle Callbacks 2
03:20
Bean Post Processor 1
09:44
Bean Post Processor 2
05:21
Bean Creation with Factory - Static Factory
07:57
Bean Creation with Factory - Instance method
07:42
Managing environments - @Profile
11:42
Switching profiles through external configuration
01:07
Spring Aware Interfaces
02:45
Demo - BeanNameAware
03:12
Demo - BeanFactoryAware
02:27
Demo - ApplicationContextAware
02:59
Demo - MessageSourceAware -1
07:40
Demo - MessageSourceAware - 2
02:53
Demo - ResourceLoaderAware
07:00
Demo - EnvironmentAware
05:48
Module Summary
01:33
+ Spring Aspect Oriented Programming
30 lectures 57:31
Introduction
01:37
Core AOP Concepts
00:34
What is an Aspect
00:42
Join Point
00:20
What is an Advice
00:25
Pointcut
00:35
Concept of AOP Introduction
00:23
Target Object
00:23
AOP Proxy
00:23
Weaving
00:27
Advice Types
00:30
Before advice
00:23
After Returning advice
00:12
After Throwing advice
00:12
After
00:23
Around
00:39
Proxy Object
00:31
Spring AOP Proxy
00:35
What is Aspectj
00:33
Enable Aspectj in Spring AOP
00:33
Aspectj configuration
00:22
Setting up environment for Spring AOP
01:24
Demo: Creating first advice
07:33
Demo: Before
07:07
Demo: After
03:00
Demo: After Returning
05:04
Demo: After throwing
06:34
Demo: How to access a Join Point
07:17
Demo: Around Advice
08:20
Module Summary
00:30
+ Spring Task Executor
4 lectures 40:55
Introduction to Java Threads, Runnable Callable and Future
18:10
Thread Pools in Java
11:28
Spring Task Executors
10:25
Module Summary
00:52
+ Communication between Beans - Application Event
9 lectures 36:17
Introduction
02:03
ApplicationEvent - Create Custom Events
02:44
ApplicationEventPublisherAware - Publish an Event
02:07
ApplicationListener - Listen to an Event
01:59
Demo - Putting everything together
13:29
@EventListener annotation
05:21
ApplicationEventMulticaster
03:43
ApplicationContextEvents
03:40
Module Summary
01:11
Requirements
  • Core Java Knowledge
  • Basic understanding of Maven (Optional)
Description

A comprehensive guide on Spring fundamentals. Whether you are a complete beginner on Spring Framework or an experience Spring developer, there are so many take ways from this course.

It covers the following Spring concepts:-

Module 1: Course Overview

  1. Introduction

  2. What we need

  3. Target Audience

  4. Prerequisite

  5. Course Walk through

  6. What won’t be covered

  7. Module summary

Module 2:  Set up the development Environment

  1. Introduction

  2. Installing Java

  3. Installing Maven

  4. Installing - Spring Tool Suite

  5. Creating Maven Project in Spring Tool Suite

  6. Installing - Intellij IDEA

  7. Creating Maven Project in Intellij Idea

Module 3: Spring Core Introduction

  1. Spring Overview

  2. Spring History

  3. Spring Modules

  4. Dependency Management: Traditional Ways

  5. Dependency Management: Dependency Injection

  6. Concepts of POJO and Bean

  7. Inversion of Control : Spring IOC Container

  8. Bean Factory Interface

  9. ApplicationContext Interface

  10. Configuring beans: XML based, Annotation and Java Config configuration

  11. Module conclusion

Module 4: XML Based configuration

  1. Introduction

  2. Configuring POJOs with XML based configuration

  3. ClassPathXmlApplicationContext

  4. Setter based dependency Injection

  5. Constructor based dependency Injection

  6. Constructor vs Setter based Injections

  7. Circular dependencies

  8. Composing XML-based Configuration Metadata

  9. Referencing Other beans

  10. Inner Beans

  11. Handling Java Collections

  12. Merging Collections

  13. Depends-on

  14. Lazy-Initialization

Module 5: Autowiring

  1. Basics of Autowiring

  2. Autowiring Types,

  3. No Autowiring ,

  4. Autowiring byName,

  5. Autowiring byType

  6. Autowiring constructor

  7. Issues with Autowiring

Module 6: Java Configuration

  1. Configuring beans with Java Configuration

  2. Component scan with @ComponentScan

  3. @Configuration and @Bean Annotation

  4. @Component, @Configuration, @Service and @Repository annotations

  5. Constructor Injection

  6. Autowiring POJOs

  7. @Primary Annotation

  8. @Qualifier Annotation

  9. Importing Configuration

  10. @Scope Annotation

  11. @Lazy Annotation

  12. @DependsOn

Module 7: Spring Beans in Depth

  1. Introduction

  2. Bean Life Cycle Callbacks

  3. @PostConstruct and @PreDestroy annotations

  4. Bean Scope

  5. Bean Post Processor

  6. POJO Creation with factory methods - Static factory, instance method and Spring factory bean

  7. Managing environments - @Profile annotation

  8. Spring Aware Interfaces

  9. BeanNameAware

  10. BeanFactoryAware

  11. ApplicationContextAware

  12. MessageSourceAware

  13. ResourceLoaderAware

  14. EnvironmentAware

Module 8: Spring Aspect Oriented Programming

  1. AOP Introduction

  2. Core AOP Concepts

  3. What is Aspect?

  4. Join Point

  5. What is Advice?

  6. Pointcut

  7. AOP Proxy

  8. Aspectj

  9. Weaving

  10. Aspectj and @EnableAspectJAutoProxy annotation

  11. Advice Annotations: @Before, @After, @AfterReturing, @AfterThrowing, @Around

  12. @Before and @After Annotation

  13. @AfterReturning Annotation

  14. @AfterThrowing Annotation

  15. @Around

  16. Demostration

Module 9: Spring Task Executor

  1. Introduction to Java Executor, ExecutorService

  2. Runnable, Callable and Future

  3. Threadpool - Fixed thread pool , Cached thread pool, Single thread executor, scheduled thread pool executor

  4. Spring TaskExecutor

  5. Spring SimpleAsyncTaskExecutor

  6. Spring SyncTaskExecutor

  7. Spring TaskExecutorAdapter

Module 10: Communication between Beans - ApplicationEvent Management

  1. Introduction

  2. ApplicationListener Interface

  3. ApplicationEventPublisher

  4. Example

Module 11: Conclusion

  1. Source Code

  2. Course Aummary

  3. WhatsNext

Who this course is for:
  • Core Java Developers
  • Anyone interested to learn Spring Framework fundamentals
  • Quick refresher for experience Spring developers