Course Code:
bspsbm
Duration:
21 hours
Prerequisites:
Audience
Developers who need to be able to build enterprise Java based applications using Spring
Overview:
- Gain an introduction to Spring Boot Microservices
- Use Spring and Spring Boot infrastructure for developing enterprise-level Java microservices
- Explore Spring vs. Spring Boot
- Understand Spring Boot CLI – microservices and cloud
- Use it in web development
- Explore data access, testing, security, messaging and deployment
- Work with actuator and explore more features
- Understand microservices and cloud
- Gain an introduction to the Spring framework
- Configure Spring Beans
- Understand Spring and JDBC database connectivity
- Gain an introduction to the Java Persistence API
- Explore Spring and the JPA
- Use Spring and NoSQL with MongoDB or Cassandra
- Work with Spring Data and Spring Validation
- Try Spring MVC for REST services
- Learn more about Spring security
- Apply Aspect-Oriented Programming with Spring
- Learn unit testing for Spring applications
- Exploit JMS messaging from Spring
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:
Spring - Spring BOOT - Microservices
- Spring vs. Spring Boot
- Spring Boot CLI
- Web Development
- Data Access
- Testing
- Security
- Messaging
- Deployment
- Actuator
- Microservices and Cloud
- More Features
Introduction to the Spring Framework
- The need for Spring
- Implementing Dependency Injection with Spring
- The Spring Core
- Programming to Interfaces using Spring
- Incorporating Spring into Java EE applications
Configuring Spring Beans
- Using Spring Annotations
- Using Java Configuration classes
- A brief introduction to 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 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
- 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