Learn Spring 5 - An Ultimate Guide to Spring 5 Core
Tags: java, webdev, tutorial, beginners
Published: 2020-01-06 08:30:02

## Learn Spring 5 - An Ultimate Guide to Spring 5 Core
### 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
* Introduction
* What we need
* Target Audience
* Prerequisite
* Course Walk through
* What won’t be covered
* Module summary

Module 2:  Set up the development Environment
* Introduction
* Installing Java
* Installing Maven
* Installing - Spring Tool Suite
* Creating Maven Project in Spring Tool Suite
* Installing - Intellij IDEA
* Creating Maven Project in Intellij Idea

Module 3: Spring Core Introduction
* Spring Overview
* Spring History
* Spring Modules
* Dependency Management: Traditional Ways
* Dependency Management: Dependency Injection
* Concepts of POJO and Bean
* Inversion of Control : Spring IOC Container
* Bean Factory Interface
* ApplicationContext Interface
* Configuring beans: XML based, Annotation and Java Config configuration
* Module conclusion

Module 4: XML Based configuration
* Introduction
* Configuring POJOs with XML based configuration
* ClassPathXmlApplicationContext
* Setter based dependency Injection
* Constructor based dependency Injection
* Constructor vs Setter based Injections
* Circular dependencies
* Composing XML-based Configuration Metadata
* Referencing Other beans
* Inner Beans
* Handling Java Collections
* Merging Collections
* Depends-on
* Lazy-Initialization

Module 5: Autowiring
* Basics of Autowiring
* Autowiring Types,
* No Autowiring ,
* Autowiring byName,
* Autowiring byType
* Autowiring constructor
* Issues with Autowiring

Module 6: Java Configuration
* Configuring beans with Java Configuration
* Component scan with @ComponentScan
* @Configuration and @Bean Annotation
* @Component, @Configuration, @Service and @Repository annotations
* Constructor Injection
* Autowiring POJOs
* @Primary Annotation
* @Qualifier Annotation
* Importing Configuration
* @Scope Annotation
* @Lazy Annotation
* @DependsOn

Module 7: Spring Beans in Depth
* Introduction
* Bean Life Cycle Callbacks
* @PostConstruct and @PreDestroy annotations
* Bean Scope
* Bean Post Processor
* POJO Creation with factory methods - Static factory, instance method and Spring factory bean
* Managing environments - @Profile annotation
* Spring Aware Interfaces
* BeanNameAware
* BeanFactoryAware
* ApplicationContextAware
* MessageSourceAware
* ResourceLoaderAware
* EnvironmentAware

Module 8: Spring Aspect Oriented Programming
* AOP Introduction
* Core AOP Concepts
* What is Aspect?
* Join Point
* What is Advice?
* Pointcut
* AOP Proxy
* Aspectj
* Weaving
* Aspectj and @EnableAspectJAutoProxy annotation
* Advice Annotations: @Before, @After, @AfterReturing, @AfterThrowing, @Around
* @Before and @After Annotation
* @AfterReturning Annotation
* @AfterThrowing Annotation
* @Around
* Demostration

Module 9: Spring Task Executor
* Introduction to Java Executor, ExecutorService
* Runnable, Callable and Future
* Threadpool - Fixed thread pool , Cached thread pool, Single thread executor, scheduled thread pool executor
* Spring TaskExecutor
* Spring SimpleAsyncTaskExecutor
* Spring SyncTaskExecutor
* Spring TaskExecutorAdapter

Module 10: Communication between Beans - ApplicationEvent Management
* Introduction
* ApplicationListener Interface
* ApplicationEventPublisher
* Example

Module 11: Conclusion
* Source Code
* Course Aummary
* WhatsNext

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,
* ...

{% youtube DrMmHTHTcCo %}