Spring Certified Professional: Course Topics
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 Actuator Endpoints
- Run 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
- Simplify your build process with Maven.
- Create Maven POM files and add dependencies.
- Run Maven builds from the IDE.
- Use Maven during the development of Real-Time Projects for Spring Boot MVC, Spring Boot Security, Spring Boot REST API and Hibernate/JPA
Spring Core
- Build a complete Spring MVC and Hibernate/JPA CRUD Project ... all from scratch.
- Set up your Spring Boot and Hibernate/JPA
- 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.
- Define Spring Beans using the Component annotation.
- Apply all Java configuration to Spring Beans (no xml).
Spring Security
- Secure your REST APIs and web applications with Spring Boot Security
- Set up your Maven pom.xml file with Spring Boot Security starter.
- Configure Spring Boot Security with all Java configuration (no xml)
- Create custom Spring Boot Security login pages with Bootstrap CSS
- Add logout support using default features of Spring Boot Security
- Leverage Spring Boot Security support for Cross Site Request Forgery (CSRF)
- Define users and roles for authentication
- Display user login info and role using Spring Boot 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.
Spring REST APIs
- Overview of REST APIs
- Investigating Spring Boot REST support
- Sending JSON data over HTTP
- JSON Data Binding with the Jackson project
- Converting JSON data to Java POJO with Jackson
- Developing a Spring Boot REST API
- Setting up a Spring Boot REST project with Maven
- Creating the Spring Boot REST Controller using RestController.
- Running the Spring Boot REST Controller with the IDE
- Testing Spring Boot REST Web Services with Postman
- Parameterize Spring Boot REST API endpoints using PathVariable.
- Add Spring Boot REST exception handling with ExceptionHandler.
- Integrate global Spring Boot REST exception handling with ControllerAdvice.
- Leverage ResponseEntity for fine-grained control of Spring Boot REST HTTP response.
- Build Spring Boot REST API to execute CRUD actions on the Database with Hibernate/JPA.
- Create a Real-Time Project using Spring Boot REST API with full database CRUD.
Spring REST API CRUD
- Develop a REST API Controller with Spring Boot with full CRUD supports.
- 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.
Spring Boot and Spring Data JPA
- Minimize boilerplate code with Spring Data JPA and the JpaRepository.
- Refactor existing REST API to integrate with Spring Data JPA
- Leverage new features of the Java Optional pattern with JpaRepository.
- Test the Spring Data JPA repository with Postman.
Spring Boot and Spring 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 compliant REST responses.
- Test Spring Data REST with Postman
Spring MVC
- Set up your Spring Boot MVC environment with configs and directories.
- Create controllers using Controller annotation.
- Read HTML form data using RequestParam.
- Leverage Spring Boot MVC model to transport data between controller and view page.
- Define Request Mappings for GET and POST requests.
- Minimize coding with Spring Boot MVC Form data binding.
- Leverage Thymeleaf expressions to access data from the Spring Boot MVC Model
- Apply CSS stylesheets to your Thymeleaf templates.
Spring MVC Validation
- Create a Spring MVC Validation project using the Spring Initializr website.
- Apply validation rules for required fields, number ranges and regular expressions.
- Leverage the InitBinder and StringTrimmerEditor to trim white spaces.
- Configure error messages using the messages properties file.
- Develop a custom validation rule using annotation.
Spring Boot and Thymeleaf
- Develop view templates with Thymeleaf in Spring Boot projects.
- 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 Boot MVC Controller and a Thymeleaf template.
Spring Boot, Thymeleaf and Database 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 Database 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.
AOP: Aspect Oriented Programming
- Set up a Spring Boot project for AOP.
- Apply AOP concepts: Aspects, advices and pointcut expressions.
- Add logging messages using the Before advice.
- Define pointcut expressions to match on parameters, return types and packages.
- Create reusable pointcut expressions.
- Combine pointcut expressions using logical operators.
- Control the execution order of aspects using Order.
- Access method execution metadata using JoinPoints.
- Leverage JoinPoints to read method arguments.
- Apply an AfterReturning advice to post-process the data.
- Integrate AfterThrowing advice to access exceptions.
- Develop an AOP Advice using Around to pre-process and post-process method calls
- Integrate AOP into a Spring MVC CRUD app.