Spring Framework Master Class - Beginner to Expert

Learn the magic of Spring Framework in 100 Steps with Spring Boot, Spring JDBC, Spring AOP, JUnit, Mockito and JPA.


This course has 2500+ 5 Star reviews. A selection:

  • This is an excellent basic introduction to Spring, SpringBoot & JPA. Easy to follow and seems to cover all the basic concepts with a good potted history to explain why certain techniques have evolved as they have.
  • The instructor is very knowledgeable, and what makes this course a winner is the scope of each example along with its explanation. The lectures are short, and enough to introduce and understand the topic to make it functional. It really helps that it is hands-on, and I had no trouble or errors running any of the code. You learn the essentials to work with Spring, but also guides you through Eclipse and shortcuts which are very useful. The pace and length of the lectures are perfect! Extremely well done! This knowledge would have taken me a lot longer to learn were it not for this course, Thank you Ranga!
  • I know a lot more about dependency injection, IOC, loose-coupling, and application context thanks to Ranga. He has changed my life. I am now more knowledgeable about Spring framework and am really confident in my interviews. He deserves every penny from me and needs to become a millionaire for making me position myself to potentially becoming a Spring Guru.
  • This course shifted me to a new level of understanding Spring. Great tutor.

Learn the magic of Spring Framework. From IOC (Inversion of Control), DI (Dependency Injection), Application Context to the world of Spring Boot, AOP, JDBC and JPA. Get set for an incredible journey.

In this course, you will learn the features of Spring and Spring Modules - JDBC, AOP, Data JPA with hands-on step by step approach.

You will get introduced to Spring Boot, Unit Testing with JUnit and Mockito, talking to the database with Spring JDBC and JPA, Maven (dependencies management), Eclipse (IDE) and Tomcat Embedded Web Server. We will help you set up each one of these.

You will learn about Spring step by step - in more than 100 steps. This course would be a perfect first step as an introduction to Spring.

You will learn about

  • Basics of Spring Framework - Dependency Injection, IOC Container, Application Context and Bean Factory.
  • Spring Annotations - @Autowired, @Component, @Service, @Repository, @Configuration, @Primary....
  • Spring MVC in depth - DispatcherServlet , Model, Controllers and ViewResolver
  • Spring Boot Starters - Spring Boot Starter Web, Starter Data Jpa, Starter Test
  • Basics of Spring Boot, Spring AOP, Spring JDBC and JPA
  • Basics of Eclipse, Maven, JUnit and Mockito
  • Basic concept of a Web application step by step using JSP Servlets and Spring MVC
  • Unit testing with JUnit and Mockito using XML and Java Spring Application Contexts

Level 1 : Spring Framework in 10 Steps

  1. Step 1 - Setting up a Spring Project
  2. Step 2 - Understanding Tight Coupling using the Binary Search Algorithm Example
  3. Step 3 - Making the Binary Search Algorithm Example Loosely Coupled
  4. Step 4 - Using Spring to Manage Dependencies - @Component, @Autowired
  5. Step 5 - What is happening in the background?
  6. Step 6 - Dynamic auto wiring and Troubleshooting - @Primary
  7. Step 7 - Constructor and Setter Injection
  8. Step 8 - Spring Modules
  9. Step 9 - Spring Projects
  10. Step 10 - Why is Spring Popular?

Level 2 : Spring in Depth

  1. Step 11 - Dependency Injection - A few more examples
  2. Step 12 - Autowiring in Depth - by Name and @Primary
  3. Step 13 - Autowiring in Depth - @Qualifier annotation
  4. Step 14 - Scope of a Bean - Prototype and Singleton
  5. Step 15 - Complex scenarios with Scope of a Spring Bean - Mix of Prototype and Singleton
  6. Step 15B - Difference Between Spring Singleton and GOF Singleton
  7. Step 16 - Using Component Scan to scan for beans
  8. Step 17 - Lifecycle of a Bean - @PostConstruct and @PreDestroy
  9. Step 18 - Container and Dependency Injection (CDI) - @Named, @Inject
  10. Step 19 - Removing Spring Boot in Basic Application
  11. Step 20 - Fixing minor stuff - Add Logback and Close Application Context
  12. Step 21 - Defining Spring Application Context using XML - Part 1
  13. Step 22 - Defining Spring Application Context using XML - Part 2
  14. Step 23 - Mixing XML Context with Component Scan for Beans defined with Annotations
  15. Step 24 - IOC Container vs Application Context vs Bean Factory
  16. Step 25 - @Component vs @Service vs @Repository vs @Controller
  17. Step 26 - Read values from external properties file

Level 3 has 3 steps on Unit Tests with Java and XML Contexts

Level 4 : Spring Boot in 10 Steps

  1. Step 1 : Introduction to Spring Boot - Goals and Important Features
  2. Step 2 : Developing Spring Applications before Spring Boot
  3. Step 3 : Using Spring Initializr to create a Spring Boot Application
  4. Step 4 : Creating a Simple REST Controller
  5. Step 5 : What is Spring Boot Auto Configuration?
  6. Step 6 : Spring Boot vs Spring vs Spring MVC
  7. Step 7 : Spring Boot Starter Projects - Starter Web and Starter JPA
  8. Step 8 : Overview of different Spring Boot Starter Projects
  9. Step 9 : Spring Boot Actuator
  10. Step 10 : Spring Boot Developer Tools

Level 5 : Spring AOP

  1. Step 01 - Setting up AOP Example - Part 1
  2. Step 02 - Setting up AOP Example - Part 2
  3. Step 03 - Defining an @Before advice
  4. Step 04 - Understand AOP Terminology - Pointcut, Advice, Aspect, Join Point, Weaving and Weaver
  5. Step 05 - Using @After, @AfterReturning, @AfterThrowing advices
  6. Step 06 - Using @Around advice to implement performance tracing
  7. Step 07 - Best Practice : Use common Pointcut Configuration
  8. Step 08 - Quick summary of other Pointcuts
  9. Step 09 - Creating Custom Annotation and an Aspect for Tracking Time

Level 6 :Spring JDBC and JPA

  1. Step 01 - Setting up a project with JDBC, JPA, H2 and Web Dependencies
  2. Step 02 - Launching up H2 Console
  3. Step 03 - Creating a Database Table in H2
  4. Step 04 - Populate data into Person Table
  5. Step 05 - Implement findAll persons Spring JDBC Query Method
  6. Step 06 - Execute the findAll method using CommandLineRunner
  7. Step 07 - A Quick Review - JDBC vs Spring JDBC
  8. Step 08 - Whats in the background? Understanding Spring Boot Autoconfiguration
  9. Step 09 - Implementing findById Spring JDBC Query Method
  10. Step 10 - Implementing deleteById Spring JDBC Update Method
  11. Step 11 - Implementing insert and update Spring JDBC Update Methods
  12. Step 12 - Creating a custom Spring JDBC RowMapper
  13. Step 13 - Quick introduction to JPA
  14. Step 14 - Defining Person Entity
  15. Step 15 - Implementing findById JPA Repository Method
  16. Step 16 - Implementing insert and update JPA Repository Methods
  17. Step 17 - Implementing deleteById JPA Repository Method
  18. Step 18 - Implementing findAll using JPQL Named Query
  19. Step 19 - Introduction to Spring Data JPA
  20. Step 20 - Connecting to Other Databases
Who is the target audience?
  • You want to learn the basics of Spring Framework with Hands-on examples
  • You want learn developing testable applications with Spring
  • You want to understand basic Spring Modules : AOP, JDBC
  • You want to understand basics of Spring Boot

Your Instructor


in28Minutes is the world's leading course provider for Spring Framework with more than 100,000 students pursuing our courses on in28Minutes Platform(https://courses.in28minutes.com), Udemy and YouTube.

Brain child of Ranga Karanam, an Architect with 15 Years of Java programming and design with major banking clients across the world, we started in28Minutes with the aim to create Hands-on Courses with Real World Projects.

We use 80-20 Rule. We discuss 20% things used 80% of time in depth. We touch upon other things briefly equipping you with enough knowledge to find out more on your own.

We love open source and therefore, All our code is open source too and available on Github.

Course Curriculum

  Spring Level 6 - Interacting with Databases - Spring JDBC, JPA and Spring Data
Available in days
days after you enroll
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!