🍃 Spring Boot
The application around your data — starters, beans and constructor injection, externalized configuration and the precedence order that decides, and a whole series on reading auto-configuration so the framework stops being magic. Then the DataSource, tests that start in a second, Actuator and a jar somebody else can run.
No lessons published yet — this is the roadmap, so you can see exactly what the course will cover before it lands.
Before you start: Java & Groovy for Data — Series 1, and Series 4. The language and the data access are assumed here, not taught. Series 4 in particular is where JPA, Hibernate and Spring Data stop being names, and this track builds the application around exactly that work rather than repeating it.
Short on time? The 16 episodes marked core are the shortest path to being productive at work. Start there and pick up the rest whenever a job asks for them.
Series 1 · The Application
one artifact that starts, and knows how it is configured
- 01
Starters, Auto-configuration and an Embedded Server — What Boot Actually Adds
coreintermediatecoming soon - 02
Beans and Constructor Injection — What Spring Owns, and Why Not the new Keyword
coreintermediatecoming soon - 03
Externalized Configuration — One Artifact, and the Precedence Order That Decides
coreintermediatecoming soon - 04
Profiles — dev, test and prod Without Branching in the Code
coreintermediatecoming soon - 05
Logging — Levels per Package, and Logging the Counts Rather Than the Story
intermediatecoming soon - 06
Project — One Service, Three Environments, No Code Changes
coreintermediate#projectcoming soon
Series 2 · Auto-configuration, Really
seeing what was configured for you, and taking it back
- 01
Conditions — Why the Bean Appeared, and How Yours Replaces It
coreadvancedcoming soon - 02
The Condition Evaluation Report — Reading Why, Instead of Guessing
coreadvancedcoming soon - 03
Taking It Back — Overriding a Default, and Writing an Auto-configuration
advancedcoming soon - 04
Startup Failures — Reading the Analyzer's Paragraph Instead of the Stack Trace
coreadvancedcoming soon - 05
Project — Explain Every Bean in a Running Application, With Evidence
coreadvanced#projectcoming soon
Series 3 · Web, Data and Tests
the layers a data application actually needs
- 01
REST Controllers and JSON — and What a Million-Row Response Does to Heap
coreadvancedcoming soon - 02
RestClient — Timeouts You Set, Because the Default Is Usually Forever
advancedcoming soon - 03
The DataSource, the Pool and @Transactional — Including When the Annotation Does Nothing
coreadvancedcoming soon - 04
Slices, Not the Whole Context — Tests That Start in a Second
coreadvancedcoming soon - 05
Project — A Paged, Filtered API Over a Real Table, With Tests
coreadvanced#projectcoming soon
Series 4 · Ready for Production
health, metrics, packaging, and handing it to Data Ops
- 01
Actuator — Health, Loggers at Runtime, and What Not to Expose
coreadvancedcoming soon - 02
Micrometer — Emitting the Two Numbers a Data Job Should Always Publish
advancedcoming soon - 03
The Jar, the Layers and SIGTERM — Producing Something Somebody Else Can Run
coreadvancedcoming soon - 04
Configuration in Production — the Same Jar Everywhere, Different Inputs
advancedcoming soon - 05
Upgrading — the BOM, the Support Window, and Why Boot 3 Was a Rewrite of Imports
advancedcoming soon - 06
Project — Take the API From Series 3 to a Running, Observable Container
coreadvanced#projectcoming soon
Where this leads
- Grails — starts from Series 1, and Series 2.
Not here, on purpose
- Reading and writing rows — JPA, Hibernate, Spring Data, Spring Batch, scheduling — covered in Java & Groovy for Data, Series 4, which is the data half of these frameworks. In this course, Series 3 · 10 covers only the DataSource and the pool that sits under all of it
- The Java language, streams, records and JDBC — covered in Java & Groovy for Data, Series 1 and Series 2
- Running the server, the database and the machine — covered in Data Ops. This track hands you one runnable artifact and stops there
- Convention-over-configuration on top of this — Grails — covered in Grails, which is built on Spring Boot and assumes this course
- Reactive Spring — WebFlux, R2DBC and the reactive stack — not covered. It is a different programming model with its own reasons, and a data reader meets the servlet stack first and usually only. Named in Series 3 · 00 and left there