Course Code:
bspsprbt
Duration:
21 hours
Prerequisites:
Audience
Developers who need to be able to build enterprise Java based applications using Spring
Overview:
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Course Outline:
Introduction to the Spring Framework
- The need for Spring
- Implementing Dependency Injection with Spring
- The Spring Core
- Programming to Interfaces using Spring
- Spring vs. Spring Boot
- Spring Boot CLI
- Web Development
- Data Access
- Testing
- Security
- Deployment
Configuring Spring Beans
- Using Spring Annotations
- Using Java Configuration classes
- A brief introduction to XML configuration
Spring and JDBC Database Connectivity
- The challenges of pure JDBC
- The Spring JDBC Related Module
- The Spring JDBC Template
- Writing an effective DAO using the Spring template class
- Spring configuration elements required for database access
Introduction to the Java Persistence API
- History of JPA
- The need for Object Relational Mapping technology
- Hibernate and the JPA
- Mapping beans using JPA annotations
- Using the EntityManager to work with data
- Implementing relationships
Spring and the JPA
- Integrating Spring with the JPA
- Injecting EntityManagers into DAOs
- Spring configuration for effective use of JPA with Spring
- Session management
- Working with Transactions
- Coordinating transactions with appropriate propagation
Spring and NoSQL with MongoDB
- Integrating Spring with MongoDB
- The MongoTemplate from Spring
- Inserting and Updating and Querying NoSQL Databases
Spring Data
- Building CRUD APIs
- Working with finder methods
- The Repository pattern
- Using Spring Data with a NoSQL Database
Spring Validation
- Using Validator Annotations
- Enabling validation
- Displaying validation error messages
Spring MVC for REST Services
- Overview of REST principles
- Creating REST controllers
- Using Paths and Parameters
- Processing JSON and XML Data
Spring Security
- Authentication and Authorization
- The Spring Security Servlet Filter
- AOP based security for components
- Configuring form based authentication
- Realm configuration using Spring
Spring Boot
- Creating entire applications using Boot
- Configuring a Repository using Boot
- Creating a REST API using Boot
- Maintaining Spring Boot Applications
Aspect Oriented Programming with Spring
- The need for AOP
- Defining Aspects
- Weaving options when using AOP
Unit Testing Spring Applications
- Using the Spring Context in Unit Tests
- Autowiring beans into tests
Spring and Kubernetes
- Virtualisation
- Contenerization
- Docker
- Kubernetes
- Kubernetes architecture
- Deploying SpringBoot app on Minikube