
Explore Spring Initializr at start.spring.io to generate a Maven project, import it into your IDE, and see how Maven downloads Spring and Hibernate dependencies.
Create a simple Rest controller in Spring Boot to expose a / endpoint that returns my application on localhost:8080, using the Rest controller annotation and a get mapping.
Explore how the spring boot starter parent in maven defines defaults in pom.xml, enables dependency management by inheriting versions, and streamlines spring-boot plugin usage.
Learn how spring boot dev tools automatically restart your app on code changes by adding the spring boot dev tools dependency to pom.xml, and enable IntelliJ auto build.
Secure Spring Boot actuator endpoints by adding the Spring Boot starter security dependency. Override default login credentials in application.properties and exclude health and info endpoints.
Learn how Spring Boot enables component scanning to automatically register beans in the application context, including configuring base packages to scan and understanding default and explicit scanning behavior.
Learn to configure Spring Boot component scanning by explicitly listing base packages with scanBasePackages, verify injection and endpoints, then revert to default scanning for simpler setup.
Master setter injection in Spring by wiring dependencies with @Autowired, creating setter methods, and injecting an instructor into a course controller.
Explore field injection with @Autowired, illustrating direct private field injection and how Spring bypasses constructors or setters, while highlighting why this older approach complicates unit testing and is not recommended.
Make one bean the primary to resolve multiple spring implementations, eliminating the qualifier, ensuring the application starts and outputs the chosen instructor.
Explore bean scopes in spring, including singleton, prototype, session, request, and global session, and how lifecycle and scope annotations control instance creation, sharing, and injection.
Learn to configure bean scopes in Spring by removing lazy initialization, injecting another instructor with a qualifier, and verifying the default singleton scope in a core Spring setup.
Explore how hibernate and JPA relate to JDBC, acting as a layer on top of JDBC to save and retrieve objects via the JPA API, with JDBC handling connections.
Set up a Spring Boot project with Hibernate JPA and an auto-configured data source using Spring Initializer and MySQL driver; configure application.properties for the employee schema and EntityManager usage.
Create a spring boot project on Spring Initializr with maven and java, using spring boot version, add MySQL driver and Spring Data JPA, then generate and rename to crud app-employee.
Define a command line runner bean in Spring Boot that runs after beans load. Configure jdbc url, username, and password in application.properties to test database connection and disable the banner.
Learn to build a crud app using a DAO pattern with a JPA entity manager, Spring Boot configuration, and a transactional save method to create, read, update, and delete employees.
Create a dao interface and implementation to persist employees with a repository and an injected entity manager, then save a new employee in the main app and verify with MySQL.
Learn how primary keys auto increment in MySQL with a generated value strategy by adding multiple employees in a Java CRUD app, and perform read, update, and delete operations.
Configure application properties to display sql and enable hibernate sql and jdbc bind logging as the app creates four employees. Learn ddl-auto controls table creation and update preserves data.
explains rest over http, mapping post, get, put, and delete to crud on entities, with request and response messages and status codes, and introduces a rest controller built with postman.
Develop a simple Spring rest controller with the @RestController annotation, map /test and /greeting, and return hello; test endpoints in browser or Postman, and add the spring-boot-starter-web dependency in pom.xml.
Create a Spring Boot rest service that exposes a GET /api/employees endpoint to return a hard-coded list of employees as JSON, with Jackson converting between Java objects and JSON.
Define controller and entity packages, create an employee object with constructors and getters, and build a Spring Boot REST controller that returns a JSON list of employees at /api/employees.
Create a get mapping endpoint to fetch a single employee by id via a path variable, bind the path variable to the method parameter, and return the employee as json.
Learn to implement global exception handling in Spring Boot by creating a dedicated controller advice class, moving exception handlers from the rest controller, and testing custom 404 and 400 messages.
Develop a spring boot rest api for a teacher directory, implementing crud operations to manage teachers in a mysql database, using spring initializer and jpa with hibernate.
Explore implementing full CRUD operations for a teacher DAO in spring boot, including find by id, create, update with merge, and delete by id using the entity manager.
Create a post endpoint to add a teacher at /api/teachers, bind the json body, set id to zero to force insert, and persist via the teacher service.
Implement a put method to update a teacher in a spring boot rest controller using a json body with the id, and return the updated teacher tested via Postman.
Explore how Spring Data JPA replaces repetitive DAO code by extending the JPA repository to auto-generate CRUD methods for entities, with no implementation class required.
Learn spring data rest pagination and sorting, including endpoint customization with repository rest resource. Explore default page size, zero-based pages, and base path configuration.
Explore Spring Boot rest api security by securing endpoints with Spring Security, using servlet filters, and defining users and roles with declarative or programmatic configurations.
Configure spring security by building an in-memory user store with three users Bob, Alice, and Emma and assign roles of teacher, manager, and admin, using no-op and bcrypt encodings.
Test role-based access control for a rest api using postman, showing that Bob can read teachers but cannot create, update, or delete, with 200 and 401 responses.
Update Spring Security to use JDBC authentication with a data source and JDBC user details manager, replacing hard coded users and enforcing admin and teacher roles from the database.
Explains using spring security with bcrypt to encrypt passwords as a one-way 60-character hash stored in the database, and how JDBC authentication compares plaintext input to encrypted passwords.
Create a Spring MVC controller and a Thymeleaf form, map /user info to display the form, and submit data to /process info via a get request with a username input.
Build and test a Spring MVC form workflow from /user-info to /process-info, capture the username with a Thymeleaf param, and display a hello world response.
Read form data in Spring MVC using the @RequestParam annotation to bind the username to a method variable, replacing manual HttpServletRequest handling and displaying a hello message.
Learn to implement data binding in spring mvc forms using thymeleaf, a model attribute, and a user bean to capture full name and gender, then display a confirmation page.
Define ages in application.properties, inject them into the users controller, add them to the model, and render as radio buttons in the html form bound to the user’s movie age.
Add a qualities list in application.properties and bind it to the model, then iterate over qualities with th:each to render movie quality checkboxes in the user form.
Learn to implement form validation in Spring MVC by enforcing a required address field with not null and min size, wiring model attributes, and handling success or error flows.
Create a confirmation page displaying the subscriber's full name and address, validate required fields, and trim whitespace using the init binder and string trimmer editor in Spring MVC validations.
Enforce Spring MVC number-range validations for enrolled courses (0–20) using min and max annotations in the subscribers class, display error messages on the HTML form, and update the confirmation page.
Learn how to create a Spring MVC custom validation annotation for coupon codes, define constraint validator, set target and retention, and implement runtime validation logic.
Configure build settings and run the application to verify spring security on localhost 8080, log in with the default username and generated password, and confirm a secured home page.
Create a spring security configuration class and an in-memory user details manager with Bob, Alice, and David occupying HR, supervisor, and admin roles; test login at localhost:8080.
Configure spring security to use a custom login form, create a login controller and HTML page, and post authentication data to /authenticate with username and password fields.
Learn to implement a custom login form in spring security by configuring the security filter chain, creating a login controller and thymeleaf login page, and wiring the authentication url /authenticate.
Configure spring security to read users and roles from a database using the default jdbc schema, creating users and authorities tables and enabling jdbc authentication.
Do you want to learn how to build powerful web applications and land a rewarding job? The Spring Framework and its ecosystem are essential tools for creating robust applications and services. With Spring, you can simplify development and create applications that run seamlessly across platforms.
Now is a great time for Spring developers, with numerous job opportunities and freelance gigs available. This course is taught by experienced instructors certified by Oracle, who have guided over 500,000 happy learners and received thousands of 5-star reviews.
You’ll dive deep into Spring Framework, Spring Boot, Spring MVC, and Hibernate, with the latest updates included. Each topic is broken down with simple and practical examples to help reinforce your learning.
Mastering these technologies can open exciting doors in the tech industry. Spring is widely adopted by employers, making these skills highly valuable. This course not only provides you with essential knowledge but also offers hands-on practice to solidify your skills.
Whether you're a complete beginner or looking to enhance your existing knowledge, this course is designed for all learners. Don’t miss this opportunity to boost your career and become part of the vibrant Spring development community.
Enroll today and embark on your journey to mastering these in-demand skills!