Spring Core Advanced - Beyond the Basics

Enterprise class use of Spring Framework 4 and Spring Boot
4.4 (53 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
854 students enrolled
$19
$95
80% off
Take This Course
  • Lectures 60
  • Length 5 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2016 English

Course Description

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

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.

What are the requirements?

  • Students should be comfortable programming in Java and using Maven to build Java projects
  • Students should know about the core features of Spring around dependency injection and inversion of control (IoC)

What am I going to get from this course?

  • Use Spring Data JPA Repositories
  • Use Command Objects with Spring MVC
  • Leverage Spring to validate user input on Command Objects
  • Create and display custom validation messages
  • Configure Spring Security to authenticate against a database.
  • Secure a web application with Spring Security.
  • Understand Spring's approach to Aspect Oriented programming (AOP)
  • Publish and consume custom Spring Events
  • Configure scheduled tasks in Spring.
  • Learn advanced Configuration of Spring, by removing Spring Boot from the project and manually providing all the objects configured by Spring Boot.
  • Use Spring to Send and Receive JMS Messages

What is the target audience?

  • This is not a beginner level course on the Spring Framework
  • This course is for students with some knowledge of the Spring Framework wishing to learn about advanced features of Spring commonly used in the enterprise.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Course Introduction
Course Introduction
Preview
04:48
Instructor Introduction
Preview
02:05
Checking out from GitHub
09:52
Getting Help with Spring
04:29
Project Overview
06:55
Section 2: Spring Data JPA
Section Overview
Preview
02:19
Spring Data JPA CRUD Repositories
07:23
Code Assignment
Preview
01:18
Create Repositories Code Assignment Review
05:22
Module Review
02:52
Section 3: Command Objects and Spring MVC
Section Overview
02:19
Using Command Objects
08:17
Property Validation
Preview
08:34
Common Validators
04:40
Display Error Messages in Thymeleaf
11:03
Custom Validation Messages
07:10
Internationalization (i18n)
02:20
Command Objects Code Assignment
Article
Command Objects Code Assignment Review
09:46
4 questions

Quiz about using Command Objects in Spring

Command Objects Course Update
08:00
Bonus: Debugging Thymeleaf with IntelliJ
Preview
06:53
Section 4: Introduction to Spring Security
Introduction
01:16
Spring Security Maven Dependencies
02:26
Spring Security Initial Configuration
03:33
Authentication vs Authorization
02:55
Spring Security Password Encoder
Preview
04:09
User Details Service
07:34
Dao Authentication Provider
04:04
Securing URLs with Spring Security
07:06
Spring Security Login Form
07:18
Spring Security Roles
12:19
Spring Security Conclusion
03:11
Section 5: Aspect Oriented Programming
Introduction
01:40
AOP Terminology in Spring
08:02
Using AOP in Spring
10:00
Section 6: Spring Application Events
Introduction
02:16
Publish and Consume Spring Custom Events
06:28
Locking User Accounts
06:34
Code Assignment
01:06
Code Assignment Review
06:35
Section 7: Task Scheduling in Spring
Introduction
01:25
Scheduled Tasks in Spring
05:37
Section 8: Removing Spring Boot
Introduction
Preview
02:50
Thymeleaf Configuration
06:01
H2 Datasource Configuration
03:54
H2 Console Configuration
03:19
Hibernate JPA Configuration
06:00
Spring Security Configuration
02:17
AOP Configuration
02:36
Debugging Spring Boot Configuration
06:09
Spring MVC Configuration
04:46
Transaction Management Configuration
03:17
Removing Spring Boot Maven Dependencies
10:24
Web Deployment
08:40
Web Resources
07:17
Section 9: Spring JMS Support
Introduction
00:58
Spring JMS Maven Dependencies
03:35
Configuring Spring Boot for JMS
02:36
Using Spring to send JMS Messages
08:20
Using Spring to Receive JMS Messages
06:03

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

John Thompson, Spring Framework Guru

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 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.

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.

Ready to start learning?
Take This Course