Course
Enterprise Spring and Spring Boot Development
This course, written by Nick Todd, the author of JavaServer Pages 2.0 Developers Handbook from Sams Publishing, teaches you how to create enterprise applications using the latest versions of the very popular Spring framework. The training course can be delivered using either Visual Studio Code, IntelliJ or Eclipse, and Maven or Gradle as the core development and build environments. In addition to teaching all the major aspects of Spring, the course also covers best practice integration between Spring and other technologies such as databases, cloud environments, docker etc. Various modules can be dropped / replaced, for example, NoSQL or SQL based back ends, and optional modules on SpringMVC for Thymeleaf can also be included if desired.
Duration: 3 days
Who is it for: Developers who need to be able to build enterprise Java based applications using Spring
Layout: This training course combines lectures with practical exercises that help the delegates to put what they have learned on the training course into practice. The exercises specifically build on what has been recently taught and are built up as the training course progresses.
Modules
Introduction to the Spring Framework
- The need for Spring
- Implementing Dependency Injection with Spring
- The Spring Core
- Programming to Interfaces using Spring
Configuring Spring Beans
- Using Spring Annotations
- Using Java Configuration classes
- A brief mention of legacy XML configuration
Spring and JDBC Database Connectivity
- The Spring JDBC Related Module
- The challenges of pure JDBC
- 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 or Cassandra
- Integrating Spring with MongoDB and Cassandra
- 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 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
- Defining Pointcuts
- Defining Advices
- Configuration options for AOP
- Weaving options when using AOP
Unit Testing Spring Applications
- Using the Spring Context in Unit Tests
- Autowiring beans into tests
- Testing Web application controllers using Spring
- Mocking when using Spring
JMS Messaging from Spring
- Introduction to JMS
- The JMSTemplate
- The convertAndSend vs send methods
- Integrating messaging with Spring Boot
Deploying Spring Applications using Docker
- Introduction to Docker
- Containerize a Spring Boot application using Fabric8
- Using Docker Compose with Spring Boot
Enquire about this course
"*" indicates required fields