
Meet the course team and dive into building a Spring Boot job portal where recruiters post jobs and candidates search and apply, focusing on hands-on Java and Spring Boot coding.
Explore the recruiter demo: register, log in, view the dashboard, post new jobs, and set up recruiter profiles and profile photos in a Spring Boot 3 job portal.
Outline the job portal requirements for recruiters and candidates, including posting and viewing jobs, viewing applicants, editing profiles and uploading profile photos, job search, applications, resume uploads, and account registration.
Explore the Spring MVC architecture with controller, service, and repository layers and Thymeleaf views, plus the project entities and roadmap.
Set up the spring boot 3 job portal database with starter sql scripts, creating the mysql user job portal and deploying the job portal sql to establish tables and relationships.
Set up a spring boot project with web and thymeleaf dependencies via Spring Initializer, create a home controller and index view, and run on port 8080.
Integrate downloaded HTML template into the Spring Boot project by adding web jars and dependencies, updating pom.xml, and moving assets and index.html into resources, then run on localhost:8080.
Create jpa entities for users and user types, map a bidirectional one-to-many and many-to-one relationship, and configure maven dependencies for spring data jpa and mysql, plus application.properties credentials.
Wire the controller, service, and repositories to support user registration with spring data jpa, including the users repository, the users type repository, and the register.html thymeleaf template.
Create a /register/new post mapping to process registration and save the user via a UsersService and repository. Resolve the GenerationType.IDENTITY issue and verify the new user appears in the database.
Prevent duplicate email errors during registration in a Spring Boot job portal by adding a repository and service find-by-email check and displaying a clear error on the form.
Model recruiter and job seeker profiles with 1-to-1 user relationships and 1-to-many skills in a Spring Boot 3 job portal, including profile photos and PDFs of resumes.
Add support for skills to job seekers by modeling a one-to-many relationship between job seeker profiles and skills, implementing JPA entities and Spring Data JPA repositories, and verifying data persistence.
Configure Spring Security to enable login and logout for the job portal, introducing Maven dependencies, authentication and authorization, a custom authentication success handler, and integration with the user dashboard.
Implement a custom authentication and authorization flow in Spring Security using a Dao authentication provider, bcrypt password encoder, and a custom user details service loaded by email.
Implement a custom authentication success handler in a spring boot 4 project, encrypt passwords with bcrypt during registration, and route job seeker or recruiter to the dashboard.
Integrate the dashboard with the currently logged-in user, displaying their name and a logout button, by fetching the user profile via the user service and applying security checks for roles.
Copy login.html into resources/templates and add get mappings for /login and /logout, then use the security context holder and logout handler to redirect to the home page.
Build the recruiter profile features by creating the controller and service, enabling profile data entry and profile image upload for the current user, and display the image on the dashboard.
Register a recruiter, resolve a template processing error by redirecting to the dashboard, and verify the login flow shows the recruiter's email and logout option.
Add file upload support for recruiter profile images by creating a new recruiter profile from form data, linking it to the current user, and saving it to the database.
Create a file upload util to save recruiter profile images from multipart file, ensure the upload directory exists, and wire a post /add route that redirects to the dashboard.
Configure a Spring Boot MVC setup to map /photos to a file system directory, creating an MVC config class and a custom resource handler to expose upload images.
Update the dashboard to display the recruiter profile image by integrating a copied snippet, retrieving the photos image path, and rendering the profile photo on login.
Create JPA entities for job location, job company, and job post activity, and enhance the posting flow with a form and controller integration for a new job.
Create JPA entities for JobLocation, JobCompany, and JobPostActivity, including constructors, getters, setters, and toString, enabling posting a new job in the Spring Boot 3 job portal.
Integrate an HTML form for posting new jobs, retrieve the current user, and save the post via Spring Data JPA using a dedicated service and repository, with a Summernote editor.
Enhance the recruiter dashboard to display the list of jobs posted by logged-in recruiter and enable a master-detail view to view job details, updating the JobPostActivityController to fetch recruiter-specific jobs.
Display a list of jobs on the dashboard by updating dashboard.html. Add backend support in the JobPostActivityController, JobPostActivityService, and JobPostActivityRepository to fetch recruiter-specific jobs and create RecruiterJobsDto.
Retrieve recruiter job listings by recruiter id with a native sql query that joins job posts, locations, and company data, then map to DTOs for display.
Add and view job details in a spring boot 3 job portal by wiring a job details page and implementing get and post mappings for editing.
Create and manage the candidate profile within a Spring Boot job portal by updating the JobSeekerProfile entity, building its controller and service, and enabling profile photo and resume uploads.
Update the job seeker profile entity with a photo path method, adjust user account id to integer, and refine constructors and toString; implement a controller and service for profile view.
Add a findById method in JobSeekerProfileService and wire it to the controller to load profiles by id. Copy job-seeker-profile.html into resources/templates and test registering, logging in, and editing the profile.
Add a new post mapping to handle uploading a job seeker profile image and resume, wire user data in the controller, and update the model for dashboard redirection.
Add support for uploading a job seeker profile image and resume, saving files to the file system and persisting data via the job seeker profile service and repository.
Learn to use the candidate dashboard to search, view, apply for jobs, and save listings, while defining job seeker apply and save entities mapped to profiles and job posts.
Create JobSeekerApply and JobSeekerSave entities with JPA annotations, including id and relations to JobSeekerProfile and JobPostActivity, and include apply date and cover letter.
Update the job post activity controller to support searching and applying for jobs by reading request parameters for job, location, employment type, and filters such as date and remote.
Continue building the job portal by implementing date-based search logic, adding service and repository methods for get all jobs or search by date, and wiring the apply service.
Create and wire JobSeekerSaveService and repository to track saved and applied jobs, update the dashboard to reflect status, and enable filters and location search.
Add job application functionality in the JobSeekerApplyController by wiring user context, retrieving recruiter and job seeker profiles, and marking already applied or saved statuses for display.
Add a post mapping to apply for a job, bind the job id and form data, persist the application via services, and return to the dashboard.
Add the save-a-job feature to the candidate dashboard, building a JobSeekerSave controller and service and a Thymeleaf view to save and view saved jobs from the job details page.
Create a spring boot 3 job seeker save controller and service to save jobs by id, then render a saved jobs view for the current user.
UPDATED TO SPRING BOOT 4
POPULAR IDE - IntelliJ (free version)
The goal of this course is to build an end-to-end project using Spring Boot, Spring MVC and Thymeleaf. This an intermediate level course and it is a good follow up to my Spring Boot Beginners course.
This course will help you strengthen your Spring Boot skills by applying them to build a complete real-world application.
--
NOTE: This is an Intermediate course. It assumes that you already know Java and Spring Boot.
NOTE: This is NOT a beginners course.
--
This course covers the LATEST VERSIONS of Spring Boot 4, Spring 7 and Hibernate 7!
Build a complete Real-Time Project with Spring Boot MVC, Thymeleaf + Hibernate/JPA.
You will apply the following technologies:
Spring Boot 4
Spring MVC
Thymeleaf
Spring Security
Spring Data JPA
Hibernate/JPA
MySQL database
By the end of this course, you will create the source code for a complete Spring Boot MVC, Thymeleaf - Hibernate/JPA CRUD real-time project.
We are RESPONSIVE INSTRUCTORS . Post your questions and we will RESPOND in 24 hours.
---
All source code is available for download
PDFs of all lectures are available for download
Closed-Captions / Subtitles available for English and other languages (new!)
Professional video and audio recordings (check the free previews)
---
Benefits of Taking This Spring Boot and Hibernate Course
Knowing Spring Boot 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 Boot and Hibernate!
Student Reviews Prove This Course's Worth
Those who have reviewed the course have pointed out that the instruction is clear and easy to follow, as well as thorough and highly informative.
Many students had also taken other Spring Boot and Hibernate courses in the past, only to find that the luv2code Spring Boot and Hibernate course are their favorite. They enjoy the structure of the content and the high quality audio/video.
Sample of the Student Reviews:
I’m currently halfway through your course and wanted to express my appreciation for the quality and depth of the content. This course provides industry-level insights and practical knowledge that are both comprehensive and easy to follow. The real-world examples and hands-on exercises have been particularly helpful. Your expertise and teaching style truly stand out. I’m looking forward to completing the course and continuing to learn from you. Thank you for creating such a valuable resource! - Muhammad A.
This is awesome course as other courses from Chad. Best part of course is it uses latest security configuration which I needed . - Manvendra S.
Great content and detailed explanation about project and it implementation flow. - Oghenerhume D.
Quality Material
You will receive a quality course, with solid technical material and excellent audio and video production.
My courses have received rave 5 star reviews and over 800,000 students have taken the courses. Also, these courses are the most popular courses in their respective categories.
I also have an active YouTube channel where I post regular videos. In the past year, I’ve created over 300 video tutorials (public and private). My YouTube channel has over 6 million views and 40k subscribers. So I understand what works and what doesn’t work for creating video tutorials.
Compared to other Spring Boot/Hibernate courses
This course is brand new and covers the latest versions of Spring Boot 4, Spring 7 and Hibernate 7. The course also includes modern content on Spring Boot 4, Spring Data JPA and Thymeleaf.
Beware of other Udemy Spring/Hibernate courses. Most of them are outdated and use old versions of Spring and Hibernate. Don’t waste your time or money on learning outdated technology.
We are very responsive instructors and we are available to answer your questions and help you work through any problems.
Finally, all source code is provided with the course along with setup instructions.
No Risk – Udemy Refund
Finally, there is no risk. You can preview 25% of the course for free. Once you purchase the course, if for some reason you are not happy with the course, Udemy offers a 30-day refund (based on Udemy's Refund Policy).
So you have nothing to lose, sign up for this course and learn how to build Spring Boot and Hibernate Real-Time Projects from scratch!
Target Audience
Intermediate developers with experience in Java and Spring Boot