Spring Framework in Depth
1h 55mIntermediate2024-11-20
Authors

Frank P Moley III
Senior Principal Engineer at Catch&Release
Course details
Spring is an application framework and inversion-of-control (IOC) container for the Java platform. The framework's core features can be used by any Java application and are ideal for enterprise and internet-based app development. Get a comprehensive overview of Spring in this intermediate-level course with software architect Frank Moley. Frank develops applications and web services with Spring, and shares what he knows about configuring the ApplicationContext (the interface for accessing components, loading files, publishing events, and more), as well as the beans (objects within the Spring IOC container). He demonstrates a modern Java configuration workflow and explores the Spring lifecycle in depth, so you can extend the framework and better troubleshoot any issues you have with your applications. Plus, learn how to use aspect-oriented programming to add behaviors to your apps in a reusable way.
Learning objectives
Configure the Spring ApplicationContext to access components, load files, publish events, and manage the inversion-of-control (IoC) container for Java applications.
Implement beans (objects) within the Spring IoC container and apply a modern Java configuration workflow to develop applications and web services with Spring.
Analyze the Spring lifecycle to extend the framework and troubleshoot issues in Spring-based applications.
Utilize aspect-oriented programming concepts to integrate reusable behaviors into Java applications in a modular way.
Learning objectives
Configure the Spring ApplicationContext to access components, load files, publish events, and manage the inversion-of-control (IoC) container for Java applications.
Implement beans (objects) within the Spring IoC container and apply a modern Java configuration workflow to develop applications and web services with Spring.
Analyze the Spring lifecycle to extend the framework and troubleshoot issues in Spring-based applications.
Utilize aspect-oriented programming concepts to integrate reusable behaviors into Java applications in a modular way.
Skills covered
Spring FrameworkSoftware Development ToolsOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Building blocks of Spring
- 02 - What you should know
1. Spring Overview
- 03 - Introduction to Spring
- 04 - The inversion of control (IoC) container
2. Configuring the ApplicationContext
- 05 - Introduction to the ApplicationContext
- 06 - Configuration of Spring with Java
- 07 - Work with the environment
- 08 - Profiles
- 09 - Spring Expression Language
- 10 - Bean scopes
- 11 - Proxies
3. Component Scanning
- 12 - The component scan
- 13 - Implementing component scanning
- 14 - Lifecycle methods
4. The Bean Lifecycle
- 15 - Why the lifecycle is so important
- 16 - The overall picture
- 17 - The init phase - Loading bean definitions
- 18 - Init - Bean factory post-processing
- 19 - Init - Bean instantiation
- 20 - Init - Setters
- 21 - Init - Bean post-processing
- 22 - Init - Differences based on configuration
- 23 - The use phase
- 24 - The destruction phase
5. Aspect-Oriented Programming
- 25 - Aspecting in Spring
- 26 - Define aspect-oriented programming (AOP) pointcuts
- 27 - Implement AOP advice - Before
- 28 - Implement AOP advice - After
- 29 - Implement AOP advice - Around
- 30 - Challenge - Building your own aspect
- 31 - Solution - Building your own aspect
Conclusion
- 32 - Next steps