
Discover the essentials of Spring Boot and learn how Spring builds applications on top of Spring technology, with concise guidance and hands-on practice.
Jump in and build a Spring Boot application from scratch with Spring Initializr, generating a Maven or Gradle starter, and explore the layered architecture and essential Spring resources.
Learn to create a Spring Boot web app from scratch with Spring Initializr, choosing Maven or Gradle, Java or Groovy, and rely on starter dependencies to run a standalone jar.
Explore a spring boot project generated by spring initializr and built with maven. Inspect the pom.xml, dependencies, maven wrapper, and production source, resources, and properties that power startup.
Learn to use the Maven wrapper in a Spring Boot project generated by the Spring Initialise website, download Maven locally, and run Maven commands to build and run the app.
Learn to use the Gradle wrapper to build Spring Boot projects, switch from Maven to Gradle, understand build.gradle and settings.gradle, and manage dependencies and Spring Boot runs.
Open a Spring Boot project in IntelliJ IDEA, run with the Spring Boot plugin and Maven, and debug with breakpoints to inspect variables, call stack, and threads.
Explore how Spring applications use a layered architecture with controller, service, and data layers, wired by dependency injection; learn how repositories handle database access and how interfaces enable swapping implementations.
Discover essential spring boot resources, including the main spring website, reference and api docs, getting started guides, and key features like profiles, logging, security, and caching.
Explore the Spring Pet Clinic, the main demo project and technology showcase for Spring Boot, as we dive into a complete, real-world Spring Boot project.
Explore the project structure and conventions of the spring pet clinic demo application, a representative Spring Boot sample. Download or clone its repository and examine its layout.
Build the sprint pet clinic application with Maven, initialize plugins, and download dependencies to create a runnable standalone jar; then cache dependencies in the local repository for faster subsequent builds.
Launch the spring boot application from the target jar, verify Tomcat started, then navigate the UI to view donors, pets, and visits, and edit pets or add visits.
Explore a maven-based spring boot project in Intelligent Idea, distinguishing production and test sources. Review spring boot starter dependencies for caching, data, and web, plus dev tools for rapid development.
Examine how Spring Boot controllers handle requests with MVC mappings, domain-based package structure, repositories, and view or response generation.
Explore how a Spring data repository for vets uses an integer key type and a dynamic, out-of-the-box implementation, then leverages Spring's caching to return cached results from a cache region.
Startup of a Spring Boot app begins with a public static void main method that uses SpringApplication.run, and the @SpringBootApplication annotation enables configuration, component scanning, and auto-configuration.
Spring Boot uses application properties and logging levels, and leverages profile-specific overrides to switch databases—from embedded H2 to MySQL—while ignoring build and IDE files.
Explore how a Spring Boot application works with minimal boilerplate and convention over configuration. Learn how starter dependencies, application properties, and component scanning enable auto configuration and Spring-managed components.
Explore how Spring Boot pulls in dependencies and libraries by selecting and initializing them in a project. Learn how available dependencies enable this capability.
Learn how Spring Boot starter dependencies bootstrap projects by resolving transitive dependencies through Maven, Gradle, and Ivy, pulling in core Spring Boot components from the Maven Central Repository.
Explore how Maven resolves Spring Boot dependencies within your IDE, inspect the dependency tree, and understand production versus test scopes and transitive effects.
Inspect the flattened resolved dependencies set shown by the consolidated dependency graph and the external libraries window, highlighting spring boot and spring framework libraries, third-party components, logging, and testing artifacts.
Switch to the Spring Boot starter web to convert a project into a web app, replacing the standard starter, rebuilding the dependency graph, and enabling an embedded Tomcat self-executing jar.
Starter dependencies bring in libraries to get a Spring Boot app running quickly, while the runtime inspects them to optionally configure and link components via auto configuration.
Explore how Spring Boot pulls in only what it needs through its configuration mechanism, and understand how dependencies are managed in Spring Boot projects.
Explore how Spring Boot creates the Spring application container by building and refreshing the application context, using a barebone Spring application and configuration for a data source.
See how @SpringBootApplication enables auto configuration, switches on component scanning, and loads auto configuration classes via spring.factories while wiring application context listeners for lifecycle events.
Explore spring boot essentials and auto configuration concepts by examining spring factories and enable auto configuration, with dependencies like spring data jpa, h2, tomcat, and jar-file configuration.
Explore Spring Boot auto configuration by examining data source auto configuration and the auto config classes that activate based on classpath conditions, using the conditional framework to instantiate beans.
Aggregate application properties after profile processing, copy spring and datasource properties into the autoconfiguration pojo, and use the camel case to hyphenated form to define and evaluate configuration conditions.
Learn how Spring Boot autoconfiguration uses conditions on classes, beans and properties to enable or exclude data source configurations, including embedded and pool data source options.
Run the application with the --debug flag to produce an autoconfiguration report that evaluates conditions. The report shows which configurations match or do not match, revealing autoconfig behavior.
Explore how to make your app configurable by avoiding hard-coded values and using external configuration, as this section demonstrates.
Explore common Spring Boot properties to configure applications, including core, data, server, and logging, with guidance on properties files, YAML, and overrides.
Inject a property from the environment into a Spring managed bean using @Value, reading from application.properties with a name prefix, and verify injection on application start.
Learn how to provide default values for properties in Spring Boot when key is missing. See how placeholders resolve to the default value, with GreenPower used as the released name.
Override packaged application properties at runtime using system properties with the -D switch; quote keys correctly to ensure the system property wins over bundled values.
Explore specifying properties using yaml file format and property files, and learn how yaml supports nesting with a top-level map and arbitrarily nested keys.
Learn how to access nested properties and achieve strongly-typed values in Spring using property convertors, with properties or YAML notation, and how to override or inject multiple values.
Explore how spring applications start up, tracing the startup sequence from launch to run time, and how spring route hooks into the framework to run as a regular spring application.
Explore how Spring Boot starts a Spring application and builds a runtime environment from starter dependencies, showing a demo web app with Spring Web, Spring Data JPA, and H2 database.
Learn how Spring Boot registers and deploys application listeners, uses multicast events to target listeners, and orchestrates application events for initialization, startup, and post-processing.
See how Spring prepares the environment and creates the application context, choosing XML, annotation, or servlet web server contexts, with a bean factory and bean definition map.
Explore how the Spring Boot Essentials runtime creates and post-processes the bean factory and application context, including the refresh sequence and auto-detection of singleton objects.
Demonstrates how an embedded web server is created, including the connector and listener setup during refresh. Shows singletons instantiation and how refresh triggers listener registration.
Publish spring events to application listeners during refresh, including the context refreshed event, as the Spring Boot application starts and becomes ready to serve.
Conclude the course by highlighting how to create Spring Boot applications, build and run them, and navigate the typical code structure and dependencies.
How would you like to master what actually happens inside a Spring Boot application and start your journey with the most important technology to hit Java enterprise development since the Spring Framework itself was launched!
Well then this course is for you!
In this course we take you step-by-step on a fascinating journey into how Spring Boot applications work. We'll uncover and decode the complexities of the following:
how to get started with Spring boot using Spring Initializr to create our projects and tap into the rich set of technology that Spring Boot offers
how to build our Spring Boot projects with both Maven and Gradle
how to run and debug Spring Boot applications in our IDE
understanding layered architecture in Spring applications with controller, service and repository annotations
looking at a sample Spring Boot application's code, seeing how it works together
understanding starter dependencies and how these let you access a myriad of Java technologies almost "for free" and see how they work with Maven and Gradle's dependency resolution mechanism
decode how autoconfiguration works in Spring Boot looking at conditions, overriding and how to see what's going on!
use properties in Spring Boot projects through injection and see common and important Spring Boot properties you need to know!
explore how a Spring Boot application starts up by stepping through the code and seeing exactly what happens under the hood!
This is a course which empowers you by unlocking the complexities of how Spring Boot works so that you understand what's going on. In this way you get an excellent foundational basis of Spring Boot understand that will stand you in good stead so you'll feel at ease exploring further and tapping into the amazing power that this versatile and powerful platform offers.
I'm so excited to teach you all about Spring Boot - so enrol today and I'll see you inside! ;)