Mastering Spring Framework Fundamentals

Mastering Spring Framework Fundamentals

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 5h 06m | 7.13 GB

Give a boost to your development career by mastering Spring framework concepts

By promoting excellent coding practices and speeding up development time, the Spring framework has proved its metal in the world of software development and is now the most in-demand skill for Java developers. If you’re looking to get to grips with Spring and the important techniques and best practices, then this is the right course for you.

You’ll start by configuring a project’s dependencies to use Spring. Next, you’ll understand the functionality and application of dependency injection and inversion of control in Spring. As you progress, you’ll manage application properties and state using Spring property management and learn how to apply profiles in Spring. You’ll also find out how to use proxies for making service methods transactional. Moving ahead, you’ll get to grips with lifecycle and callback interfaces and the events needed to integrate and access lower-level components of the Spring container. Later, you’ll get an overview of Spring JDBC and uncover techniques to work with databases. Finally, you’ll delve into web application development with Spring.

By the end of this course, you’ll be able to confidently work with existing Spring applications and build your own projects from the ground up.

Learn

  • Use properties in Spring applications
  • Apply profiles in Spring applications to manage property sets
  • Find out how a Spring container is used in modern Java applications
  • Autowire dependencies in the Spring container
  • Apply Spring to tackle cross-cutting project concerns
  • Build a Maven project to use Spring MVC
Table of Contents

Getting Started
1 Welcome to the Course
2 Section Introduction
3 Key Spring Resources You Will Need to Know
4 Configuring a Project’s Dependencies to Use Spring
5 Adding the Spring BOM to Manage Dependency Versions Better

Creating the Spring Container with Application Contexts
6 Section Introduction
7 A Look at the Application Context (also known as The Spring Container)
8 Creating the File System XML Application Context
9 Configuring Autocomplete while Writing Spring XML Configuration Files

Creating, Retrieving, and Using Spring-Managed Beans
10 Section Introduction
11 Creating a Bean Managed Spring’s XML Container Configuration
12 Retrieving and Using a Bean from the Spring Container
13 Using the Classpath XML Application Context
14 Understanding the Singleton Scope
15 Understanding the Prototype Scope
16 Understanding How Spring Creates Stateless Beans

Understanding Dependency Injection and Inversion of Control
17 Section Introduction
18 Coding Beans to Use Constructor Dependency Injection
19 Interpreting a Spring Container Exception
20 Applying Constructor Dependency Injection to XML Configuration
21 Verifying the Constructor Dependency Injection with the Debugger
22 Shareability of Beans in an Inversion of Control (IoC) Container
23 The Benefits of Dependency Injection in an Inversion of Control (IoC) Container
24 Alternatives to Using Constructor Dependency
25 Coding Beans to Use Setter Dependency Injection
26 Applying Setter Dependency Injection in XML Configuration
27 Verifying the Setter Dependency Injection using the Debugger

Auto-wiring Dependencies in the Spring Container
28 Section Introduction
29 Adding Component Scanning to Auto-detect Spring Managed Bean Annotations
30 Coding Beans to be Auto-managed and Auto-wired by Spring through Annotations
31 The Advantage of Annotation-based Configuration over XML Configuration
32 Verifying the Annotation-driven Auto Wired Beans
33 Spring’s Stereotype Annotations for Better Code Readability
34 Setter Dependency Injection with Annotations
35 Constructor Dependency Injection with Annotations
36 Using the Annotation-based Application Context
37 Creating a Java Configuration Class
38 Applying Java-based Configuration with @Bean
39 Using Scopes with Java-based Configuration
40 Modeling a More Complex Application to Demonstrate Auto-wiring Ambiguity Issues
41 Resolving Ambiguous Arguments of the Same Type by Narrowing the Reference Type
42 Resolving Ambiguous Arguments of the Same Type by Using @Qualifier

Using Properties and Profiles in Spring Projects
43 Section Introduction
44 Injecting Properties Read from a Properties File with @Value in Spring Managed Bean
45 Exploring Property Overriding in Spring
46 Accessing and Using Properties with the Property Placeholder in XML Configuration
47 Specifying Default Properties for Property Values
48 Exceptions for Missing Property Keys in Spring
49 Resolving and Using a Property Value in a Bean Definition in XML Configuration
50 Accessing the Current Active Profiles using the Environment Interface
51 Setting the Current Active Profile Programmatically and Through a Property Switch
52 Creating Profile-specific Bean Configuration
53 Conditional Beans with @Profile

Getting to Know the Spring Container
54 The Proxy Design Pattern
55 Seeing Proxies in Action
56 The Disadvantages of a Regular Proxy
57 Understanding the Java Development Kit (JDK) Dynamic Proxies
58 Dynamic Proxies in Spring
59 Understanding how Spring Makes Service Methods Transactional using Proxies
60 Spring-managed Bean Lifecycle Callback Methods
61 The Java Development Kit (JDK) Standard Lifecycle Annotations (@PostConstruct and @PreDestroy)
62 The Sequence of Spring Container Callbacks on a Spring-managed Bean
63 Application Container Callbacks and Events
64 Using the Aware Interfaces to Access Lower-level Spring Framework Components

Accessing Databases with Spring
65 Creating and Configuring Data Sources
66 Creating a Data Access Object to Access a Database
67 Connecting Pool Data Sources in Spring
68 Creating a Java Database Connectivity (JDBC) Template to Access a Database
69 Using Java Database Connectivity (JDBC) Templates to Insert and Query Data
70 Using Java Database Connectivity (JDBC) Data Access Object Pattern (DAO) Support to Remove Boilerplate JDBC Code

Aspect-oriented Programming in Spring
71 Preparing a Spring Project to Use Aspects
72 Creating a Spring-managed Bean to be Intercepted
73 Advising Beans in Spring
74 Understanding Pointcuts and Joinpoints
75 Accessing Joinpoints Programmatically within an Aspect
76 Coding Dynamic Advice with Around

Web Application Development in Spring
77 Preparing a Maven Project to Use Spring Model-View-Controller (MVC)
78 Registering the Dispatcher Servlet as the Front Controller
79 Creating the Web Application Context
80 Creating a Controller Class
81 Configuring the Jetty Plug-in in Maven to Run a Web Application
82 Setting Up Remote Debugging of a Web Application
83 Understanding the Dispatcher Servlet Processing Flow
84 Writing a Controller to Service Web Requests
85 Rendering a Jakarta Server Pages (JSP) Based View with View Resolvers
86 Understanding How a Request is Serviced
87 Passing a Model to the View for More Dynamic Pages
88 Injecting the HTTP Servlet Request and Response into a Controller
89 Passing Request Parameters and Query Strings to a Controller
90 Using Path Variables to Access Parts of the Request Path