Spring Core Advanced

Advanced Topics of Spring Core

  Enroll in Course

My Spring Core course is intended to be a predecessor to this course. In Spring Core, I gave you a solid foundation in working with the Spring Framework. In this course, I build upon that foundation expanding your skills with the Spring Framework. The skills taught in this course are skills you will need for enterprise application development with the Spring Framework.

Topics Include:

  • Spring Data JPA
  • Form Validation in Spring MVC
  • Externalized messages
  • Using Spring Security
  • Aspect Oriented Programming
  • Spring Application Events
  • Scheduled Tasks
  • Advanced Spring Configuration
  • Using JMS with Spring

I start this course by showing students how to replace the traditional JPA DAO structure we created in the Spring Core, using Spring Data JPA. I continue building upon concepts learned in the Spring Core course by showing students how to use Command objects in Spring MVC and how to perform server side property validations.

Next we get into using Spring Security. I show you how to add Spring Security to our existing Spring MVC web application. We configure Spring Security to read user information from our database, and then secure URLs to authenticated users and users with specific security roles.

Aspect Oriented Programming (AOP) is a really cool programming paradigm, and its supported by the Spring Framework. In the module on AOP, I show you how to use AOP to log login activity in Spring Security. By using AOP, we don't need to change any of the Spring Security code.

The Spring Framework has a really mature events framework we can use for application events. I show you how to create a custom application event, then how to setup an event handler to take action on specific application events.

In Spring Core and in this course, the project we're working uses Spring Boot as its foundation. Spring Boot is doing a lot of automatic configuration for us. In the last module of this course, we will remove Spring Boot from the project. This will require us to configure all the objects and data sources being provided by Spring Boot manually. In doing so, students will gain insight into all the automation being provided by Spring Boot, and how to manage a more advanced Spring Configuration.


I am new to Spring and wanted to consider Spring Boot for a new project. I felt lost learning Spring Boot as I did not understand the Spring framework, which prompted me to complete the Spring Core course. I was delighted that this course not only covered how to use Spring, but more importantly, why to use Spring. I was so excited to use these new tools that I went on to complete the Spring Core Advanced course as well.
The class did a thorough job of explaining what elements are provided by Spring Boot vs the Spring framework. I found The Spring Core Advanced especially helpful for understanding all of the JPA associations and how to use them. Both classes include code exercises with access to the starting code of the exercise and also the completed solution in GIT. The completed exercises are a great resource to remember how to use a feature that was highlighted in the class. Most importantly, the course provides access to the teacher and he has responded to both of my questions within an hour. I recommend these courses to anyone that values loose coupling and the SOLID principles.

Jill Thornton, Sacramento, CA

I am a 10 year Army Infantrymen veteran of Iraq and Afghanistan and found my passion for coding on my own. After completing my Computer Science degree while serving I found out employers didn’t care about my degree but what you knew and what you can do. John helped out eminently in his tutorials and prompt email responses. I am now a Java Software Developer and owe it to John and many other resources for my success!

Drew Jocham

I discovered Spring Framework Guru reading answers in Quora and I liked the way John Thompson has organized the video courses. By using the IntelliJ IDEA IDE for teaching Spring Framework he is offering a professional combination of skills which is difficult to find elsewhere. The lessons presented in the course are smooth and easy to understand though learning Spring is not a trivial task. I'm following the Spring Core course and I feel that I did the best thing for my career.


Your Instructor


John Thompson
John Thompson

Hi. I'm John.

I've been in the IT industry for over 20 years. Today, I specialize mainly in Java, the most successful and widely known programming language in use today. I also specialize with the Spring Framework, which is the most popular open source application framework for building enterprise class applications on the Java platform. Just some of the organizations I've worked with include Visa, Kohls, Federal Home Loan Bank, and Belk Department Stores.

Every day I get contacted by recruiters looking for people with Java skills, sometimes 5 to 6 times a day. These are often very good paying jobs, yet, there is a shortage of good people in software development. Positions paying $60 per hour are going unfilled because there are not enough people writing Java. These are positions I turn away, because the pay is well below my market rate.

Malcolm Gladwell claims it takes 10,000 hours to become an expert. That's 5 years, 40 hours a week. I've certainly put in the time. I've had the opportunity to learn from some of the brightest minds in the industry. So, I can claim to be an expert.

Through the courses I'm providing, I hope to leverage my years of experience to accelerate your learning of the Spring Framework. I'm not going to lie to you: the Spring Framework is a big framework. The environment for enterprise Java is even bigger. If you're new to Java, you have a lot to learn. I hope through the content on this web site I can accelerate your education of the Java and Spring landscape.



Course Curriculum


  Aspect Oriented Programming (AOP)
Available in days
days after you enroll
  Task Scheduling in Spring
Available in days
days after you enroll

Frequently Asked Questions


When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

Get started now!