Spring & Hibernate for Beginners (includes Spring Boot)

Spring 5: Learn Spring 5 Core, AOP, Spring MVC, Spring Security, Spring REST, Spring Boot 2, Thymeleaf, JPA & Hibernate

What you'll learn

  • Develop a REAL-TIME project with Spring MVC, Spring REST, Spring Boot and Hibernate CRUD… all from Scratch
  • You will Type In Every Line of code with me in the videos. I explain every line of code to help you learn!
  • Learn Key Spring 5 features: Core, Animations, Java Config, AOP, Spring MVC, Hibernate and Maven
  • Popular Videos for: Spring Boot 2, Spring Security, Spring REST, Spring Data JPA, Spring Data REST and Thymeleaf
  • Students Have Landed New Jobs with the skills from this course. Spring and Hibernate developers are in High-Demand!


  • Basic Java Knowledge is required
  • Basic HTML knowledge iss helpful


Learn These Hot Topics in SPRING 5:

  • Spring Framework 5
  • Spring Core
  • Spring Annotations
  • Spring Java Configuration (all java, no xml)
  • Spring AOP
  • Spring MVC
  • Hibernate CRUD
  • Spring Security
  • Spring REST
  • Maven



  • Spring Boot Starters
  • Spring Boot and Hibernate
  • Spring Boot and Spring Data JPA
  • Spring Boot and Spring Data REST
  • Spring Boot, Thymeleaf and Spring MVC



  • Spring MVC and Hibernate CRUD real-time project
  • Spring Security (with password encryption in the database)
  • Spring REST (with full database CRUD real-time project)
  • Spring Boot REST (with full database CRUD real-time project)
  • Spring Boot with JPA and Spring Data JPA (with full database CRUD real-time project)
  • Spring Boot with Spring Data REST (with full database CRUD real-time project)
  • Spring Boot with Thymeleaf (with full database CRUD real-time project)



  • Maven
  • Spring Security 
  • Spring REST
  • Spring Boot


What is Spring?

Spring is an enterprise Java framework. It was designed to simplify Java EE development and make developers more productive. Spring makes use of Inversion of Control and Dependency Injection to promote good software coding practices and speed up development time.

This course covers Spring Core, Annotations, All Java Spring Configuration, Spring AOP, Spring MVC, Spring Security, Spring REST, Spring Boot and Spring Data JPA.

What is Hibernate?

Hibernate is an Object-to-Relational-Mapping (ORM) framework. It simplifies database access for Java applications. By using the framework, you can easily store and retrieve Java objects by setting up some simple configuration mappings.

This course covers basic Hibernate CRUD. Also, advanced Hibernate mappiings are covered for one-to-one, one-to-many and many-to-many.

Benefits of Taking This Spring and Hibernate Course

Knowing Spring and Hibernate can get you a job or improve the one you have. It’s a skill that will put you more in demand in the enterprise java industry, and make your software life easier, that’s why it’s so popular.

Nearly every job posting asks for skills in Spring and Hibernate!

This course will help you quickly get up to speed with Spring and Hibernate. I will demystify the technology and help you understand the essential concepts to build a real Spring and Hibernate application from Scratch.

What Will Learn How To

a. Spring Core

  • Build a complete Spring MVC and hibernate CRUD Project… all from scratch
  • Set up your Spring and Hibernate development environment with Tomcat and Eclipse
  • Wire beans together in the Spring container using Inversion of Control
  • Configure the Spring container for Dependency Injection
  • Define Spring Beans using the @Component annotation
  • Perform auto-scanning of Spring beans to minimize configuration
  • Automatically wire beans together using @Autowired annotation
  • Apply all java configuration to Spring Beans (no xml)


b. Spring MVC

  • Set up your Spring MVC environment with configs and directories
  • Create controllers using @Controller annotation
  • Read HTML from data using @RequestParam
  • Leverage Spring MVC Model to transport data between controller and view page
  • Define Request Mapping for GET and POST requests
  • Minimize coding with Spring MVC Form data binding
  • Apply Spring MVC form validation on user input
  • Create custom Spring MVC form validation rules


c. Hibernate

  • Perform object/ relational mapping with Hibernate
  • Leverage the Hibernate API to develop CRUD apps
  • Develop queries using the Hibernate Query Language (HQL)
  • Apply advanced Hibernate Mappings: one-to-one, one-to-many and many-to-many
  • Create a real-time project using Spring and hibernate together in a Real-Time project.


d. Spring AOP

  • Apply Aspect-Oriented-Programming AOP for cross-cutting concerns
  • Examine AOP use-cases and how AOP can resolve code-tangling
  • Create AOP poiintcut expressions to match on method invocations
  • Leverage AOP annotations: @Before, @After, @AfterReturning, @AfterThrowing, @Around
  • Create a real-time project using AOP and Spring MVC together in a Real-Time Project


e. Spring Security

  • Secure your web application with Spring Security
  • Set up your Maven pom.xml file with compatible Spring Security dependencies
  • Configure Spring Security with all Java configuration (no xml)
  • Create custom Spring Security login pages with Bootstrap CSS
  • Add logout support using default features of Spring Security
  • Leverage Spring Security support for Cross Site Request Forgery (CSRF)
  • Define users and roles for authentication
  • Display user login info and role using Spring Security tags
  • Restrict access to URLs based on user role
  • Hide and Display content based on user role
  • Add JDBC authentication, store user accounts and passwords in the database
  • Store encrypted passwords in the database using bcrypt
  • Register new users and encrypt passwords using Java code
  • Create a Spring Security Real-Time Project using authorization, authentication and database encryption.


f. Spring REST Web Services – Spring REST APIs

  • Overview of REST Web Services – REST APIs
  • Investigating Spring REST support
  • Sending JSON data over HTTP
  • JSON Data Binding with the Jackson project
  • Converting JSON data to Java POJO with Jackson
  • Processing nested JSON objects and JSON arrays
  • Developing a Spring REST API
  • Setting up a Spring REST Project with MAVEN
  • Creating the Spring REST Controller using @RestController
  • Running the Spring REST Controller with Eclipse and Tomcat
  • Testing Spring REST Web Services with Postman
  • Parameterize REST API endpoints using @PathVariable
  • Add Spring REST exception handling with @ExceptionHandler
  • Integrate global REST exception handling with @ControllerAdvice
  • Leverage Response Entity for nine-grained control of Spring REST HTTP response
  • Build REST API to execute CRUD actions on the Database with Hibernate
  • Create a Real-Time Project using REST API with full database CRUD


g. Spring Boot

  • What is Spring Boot?
  • Creating a Project with Spring Boot Initializr
  • Develop a REST API controller with Spring Boot
  • Explore the Spring Boot Project Structure
  • Leverage Spring Boot Starters – A Curated List of Dependencies
  • Inherit Defaults with SPring Boot Starter Parents
  • Automatically Restart with Spring Boot Dev Tools
  • Add DevOps functionality with Spring Boot Actuator Endpoints
  • Secure Spring Boot apps from the Command-Line
  • Use the Spring Boot Maven Plugin to package and run Spring Boot apps
  • Inject custom application properties into a Spring Boot REST Controller


h. Spring Boot REST API CRUD

  • Develop a REST API Controller with Spring Boot with full CRUD support
  • Configure Spring Boot Data Source for MYSQL Database
  • Create DAO implementations using JPA Entity Manager
  • Apply Best Practices by integrating a Service layer
  • Expose REST API endpoints in Controller code (GET, POST, PUT, and DELETE)
  • Access the REST API using Postman
  • Add support for Standard JPA API
  • Learn the benefits of the JPA API in Spring Boot applications  


i. Spring Boot and Spring Data JPA

  • Minimize boilerplate code with Spring Data JPA and the JPA Repository
  • Refactor existing REST API to integrate  with Spring Data JPA
  • Leverage new features of the Java optional pattern with JPA Repository
  • Test the Spring Data JPA repository with Postman


j. Spring Boot and Spring Boot Data REST

  • Accelerate your development process with Spring Data REST
  • leverage Spring Data REST to eliminate custom code for controllers and service
  • Automatically expose REST endpoints for your JPA Repositories
  • Customize REST base path endpoints
  • Apply pagination and sorting to REST API endpoints
  • Configure default page sizes for REST APIs
  • investigate HATEOAS complient REST responses
  • Test Spring Data REST with Postman


k. Spring Boot and Thymeleaf

  • Develop view templates with Thymeleaf in Spring Boot projects
  • Compare the functionality of Thymeleaf to JSP
  • Examine the auto-configuration of Thymeleaf in Spring Boot projects
  • Create a Spring Boot project with Thymeleaf using the Spring Initializer website
  • Develop a Spring MVC Controller and a Thymeleaf template
  • Leverage Thymeleaf expressions to access data from the Spring MVC Model
  • Apply CSS stylesheets to your Thymeleaf templates


l. Spring Boot, Thymeleaf and Databse CRUD

  • Develop a real-time project with Thymeleaf and Spring Boot with full database CRUD support
  • Integrate the @Repository to execute CRUD actions on the Databse with Spring Data JPA
  • Apply best practices with the @Service layer design pattern
  • Create a @Controller to handle web browser requests
  • Develop Thymeleaf templates to render database results
  • Beautify your Thymeleaf templates with Bootstrap CSS


m. Maven

  • Simplify your build process with Maven
  • Create Maven POM files and add dependencies
  • Search Central Maven Repository for Dependency Coordinates
  • Run Maven builds frrom the Eclipse IDE
  • Use Maven during the development of Real-Time Projects for Spring MVC, Spring Security, Spring REST, Spring Boot and Hibernate.

Who this course is for

  • This course is appropriate for all java developers: beginners to advanced

Course Content

Course Meta Data

Created By Chad Darby || Last Updated 05/2021 || Resource

Spring & Hibernate for Beginners