My Spring Core Advanced course builds upon content students learned in my Spring Core course. I start off the course by introducing students to Spring Data JPA, a popular Spring alternative to using just JPA. Then I dive deeper into Spring MVC and show students how to use command objects and Spring’s validation framework.

Spring Security is a very popular Spring project used to secure Java applications. I show students how to configure Spring Security to secure web content to authenticated users, and users with specific roles. I then show students how to use Aspect Oriented Programming and Spring to detect login success and failure events. Using these events, I configure Spring Custom events to lockout user accounts, then scheduled tasks in Spring to automatically unlock accounts.

Spring Core Advanced Course

Throughout this course, I’ve used Spring Boot to manage the Spring configuration. At the end of the course, we remove Spring Boot. Since Spring Boot does provide a lot of sensible defaults for the technologies used in the project removing Spring Boot requires us to use advanced Spring Configuration to replace all the objects being configured by Spring Boot. This provides insight to the auto-configuration tasks being handled by Spring Boot. We’ll also be required to manage all the project dependencies in Maven. By doing this, students can see what a more common Spring application will look like in the enterprise.

Spring Core Advanced Course Details

Level

  • Intermediate

Technologies Covered

  • Spring Framework 4
  • Spring Boot 1.3
  • Spring Data
  • Spring MVC
  • Spring Security
  • Thymeleaf
  • Maven

At the end of this course, the student will be familiar with most topics used in enterprise development with the Spring Framework, and be familiar with major Spring Framework projects like Spring Boot, Spring Data, and Spring Security.

Prerequisites

  • Familiar programming in Java. Knowledge of Java 1.8 is helpful.
  • Concepts covered in Spring Core.
  • Maven
  • HTML, CSS – Knowledge of Bootstrap CSS is helpful, but not required.