Now Open - 2nd run

The Confident Spring Professional

Learn to find your way around the Spring Ecosystem. Go from being intimidated by Spring's magic and breadth to a comprehensive understanding of Spring Framework, Spring MVC, Spring & Databases, and - of course - Spring Boot.

Preview Access: Login through the form below to get free access to the full first module of the course: Modern Java Web Apps without Spring.

Or buy now if you're already convinced!

The Confident Spring Professional

Featuring Interviews With:

  •  Michael Simons (Neo4j & EuregJUG)
  •  Simon Martinelli (JCP Member & Professor)
  •  Philip Riecks (ImmoScout24)
  • - Coming Soon - Marten Deinum
  •  Siva Prasad (Software Engineer & Author)
  •  Maciej Walkowiak (Spring Academy)
  •  Oliver Drotbohm (Pivotal & Java Champion)
  • - Coming Soon - Josh Long

"I get the job done with Spring Boot, but never understand why things work."

Sure, you can follow most beginner tutorials about Spring Boot, copy & paste some code and pump out REST services in no time.

But after a while, doubts usually start creeping in:

"I go to Spring's documentation, StackOverflow, other tutorials and copy & paste those code examples...however, I feel like I never really understand how things work."

"I just slap Spring annotations on classes and then magically stuff happens in various places and times."

"I've been building applications with Spring for years and still feel lost a lot of the time."

The problem: Simple tutorials are fine for learning the basics, but they don't make you really understand how things work under the hood and the reasons behind what you do.

I've spent the last 10 years building applications within an ever-expanding Spring ecosystem; piecing together things from every resource I could get my hands on to really understand Spring's magic; learning how all the different Spring projects and modules fit together in one big ecosystem.

The Confident Spring Developer is the course I wish I'd had.

What You'll Learn

This course is built to give you a comprehensive understanding of the Spring ecosystem.

It is not just about what and how to do something with Spring, but about why to do something, discussing different solutions to the same problems and how everything fits together in the Spring ecosystem.

Here is the high-level overview (see full table of contents here):

 Plain Java Web Apps without Spring

To understand what Spring brings to the table, you'll first learn how to write modern, minimalistic web apps with plain Java. You'll just need a couple of tools.

  • Java 11(-14) and an embedded Tomcat.
  • Maven as build tool to produce an executable .jar-file, similar to Spring Boot.

The project you build during this module is the foundation for the rest of this course.

 Spring IoC Basics

You will get a deep-dive into core Spring concepts:

  • In-depth coverage of how Spring's Dependency Injection container works and what problem it solves.
  • How Spring's environment support helps you work with properties and different stages (dev, prod).

You will start 'springifying' the project from the previous module.

 Spring WebMVC

After understanding core Spring concepts, it is time for you to meet Spring's web framework, called Spring WebMVC and learn how it powers literally every existing Spring Boot application.

It's all about:

  • Building JSON/XML REST services with Spring
  • Building server-side rendered, dynamic HTML pages with Spring and additional templating libraries.

 Spring & Databases

Powering your web appplication with a database is the next major step. Hence, you'll learn the most popular ways of accessing and querying databases with Spring.

  • Low-level database access with JdbcTemplate, DataSources and embedded databases.
  • Higher-level database access with Spring Data JDBC.
  • An introduction to database transactions with @Transactional.

 Spring Boot

After you learned the foundations of the Spring ecosystem, it is time to get a comprehensive look into Spring Boot, not just quickly build a new project with it.

  • You will learn exactly how, when and why Spring Boot leverages all the core Spring concepts you learned earlier in this course to understand what opinionated Spring really means.
  • You will get a crash course of Spring Boot internals, i.e. AutoConfigurations and also build your own AutoConfigurations.

You can check out the full table of contents here:

Check out the full table of contents

How you'll learn

Incremental Learning Path

This course consists of several modules, that are structured along a carefully constructed, incremental learning path through the Spring ecosystem.

Every lesson builds on top of the previous lesson and you will work through them in order.

Instead of starting out immediately with Spring Boot, you will tackle the Spring Ecosystem in reverse: From building (web) applications with plain Java, over to core Spring concepts (DI, MVC, Databases), to eventually Spring Boot.

This will make sure you always have all the knowledge needed to proceed with the course.

Learning-By-Doing

Instead of making you watch endless hours of video, every lesson consists of crispy & detailed explanations including detailed code examples of a project that you are building throughout the course.

You are expected to follow along with your own IDE to finish off the checkpoints in each lesson and bring your project to production.

At every point in time, you will have a fully working, executable .jar file - incrementally enhanced in every module with new Spring concepts.

Additional Exercises & Sources

Every module ends with its own set of exercises, that make you drill-in the concepts you learned throughout the module on a completely separate project.

In addition, you'll find links to the source code for the course project, as well as to the solutions to the exercises.

Watch a Screencast

The Confident Spring Developer optionally comes with 13 exclusive video lessons showing IDE work, shortcuts and development workflow for the course modules.

The videos are not recordings of the course modules, they rather teach you professional tricks & best practices when working with IntelliJ IDEA on the course project.

Video Lessons

Creating Maven Projects

Using Language Fragments

Top-Down Workflow

IDE Refactorings: Moving

@ComponentScan Mistakes

@PreDestroy in IDEs

@Profiles in IDEs

Postman REST Client

Analyzing Stacktraces

Using embedded H2 DBs

Using Spring Initialzr

Using Maven Wrapper

Creating Spring Boot AutoConfigurations

What People Are Saying

Get The Confident Spring Developer

Choose the package that works for you.

The Essentials

$225 USD

  • Instant access to the private course area.
  • 8 Modules with over 60 lessons including interactive code examples and exercises.
  • Full GitHub source code access
Buy Now

The Complete Package

$275 USD

  • Instant access to the private course area.
  • 8 Modules with over 60 lessons including interactive code examples and exercises.
  • Download 13 exclusive video lessons.
  • Cast votes on and get early access to future modules of the course.
  • Full GitHub source code access
Buy Now

Buying for your team? View team pricing options.

Frequently Asked Questions

I am completely new to Java and/or object-oriented programming. Is this course for me?

If you do not know how to program yet, you won't be able to follow this course. The lessons assume you understand object-oriented programming.

If you are coming from another JVM language (Kotlin, Scala etc.), you will be able to finish this course easily. You can even choose to work through the course with your preferred language.

If you are coming from another programming language, like PHP, Ruby, Python and have worked on web applications before, you should be able to follow along - though in this case, I recommend you to actually finish every module twice, for a better learning effect.

The prerequisites in any case: Have a recent Java JDK (11+), Maven and an IDE/code editor of your choice installed.

What if I have been working with Spring for a while, already?

The majority of the course material is from corporate trainings I gave over the last couple of years to a variety of developers with different Spring skill levels.

I got the same feedback every time from senior developers already used to working with Spring: That the course expanded their Spring knowledge a lot.

Will you be available if I get stuck?

My priority is for you to succeed and really understand Spring, so when you have specific questions about understanding and applying what you're learning, I'll do my best to help!

But to keep expectations clear, enrolling in the course does not turn me into a 24/7 programming coach. If you email me for help, I ask that you're respectful of my time and more importantly, that you're actually doing the work and not just asking questions to avoid the work. :)

Can I upgrade to the complete package later?

Of course. Simply log in, go to the course homepage and you'll find a button to upgrade.

Are the videos useful if I am not using IntelliJ IDEA?

Around half of the videos are specific to workflows in IntelliJ. While the general principles also apply to other IDEs like Eclipse and Netbeans, you will not get the full value out of those videos if you are not using IntelliJ.

Does the course get updated regularly?

Yes, the course is updated 1-2 times a year, with revised or new modules.

Can I pay with PayPal?

You can either pay with a credit card (Visa, Mastercard, American Express) or PayPal.

Can I get an invoice?

Absolutely! Just reply to your purchase confirmation email (subject: "need invoice") and you'll get a tax invoice for your accounting purposes.

What if I decide it's not for me?

No worries. Send me an email (marco@marcobehler.com) for up to 21-days after purchase and I'll refund you the full price without any hard feelings.

Can I purchase multiple licenses for my team at a reduced price?

Yes! Here's what I've got for (company) team pricing:

I have another question!

Sure! Shoot me an email at marco@marcobehler.com and let's chat!

About Me

Hey! I'm Marco and I share everything I know about making awesome Java software through my guides, screencasts, talks and .

Follow me on Twitter to get in touch.