
Modern Spring-Backends for Angular
Microservices with Spring Boot
Flexible Backends for your Angular-Frontend
- Duration: 3 days
- Remote: 05.09.2023
- Group discount available
- Individually scheduled
- In-house or remote
- Discount for groups >8 participants
Workshop
This workshop is aimed at various types of developers:
- Front-end developers (Angular, React, etc.) who want to delve into the back-end area and already have knowledge of Java.
- Developers with experience in other back-end technologies (e.g., PHP, .NET) who are aiming to get started with Spring.
- Java or Spring developers who are working with outdated Spring versions or JEE and want to learn about the current state.
This workshop provides basic knowledge for Spring application development. Step by step, a production-ready application will be created so that participants can immediately apply and experiment with the theoretical content.
The content orientation assumes that a SPA framework like Angular is used for the front-end. Therefore, there is a special focus on web, full-stack (including some aspects of Angular), and OpenAPI.
From the beginning on, emphasis is also placed on testing. Participants will be able to execute their controllers using HTTP-based or database-based tests against an in-memory database.
Spring Boot will always be used in its latest version.


Highlights
✅ Interactive: Ask questions and participate in discussions
✅ Lots of exercises and live coding
✅ Case study to use as a blueprint for your own projects
✅ Pair programming with your trainer
Selected satisfied customers
Fundamentals
- Spring Framework, Boot, and its interaction with JEE
- Initial setup
- Gradle
- Web MVC framework in general
- Spring beans and IoC container (dependency injection)
- Configuration via properties
- Logging
- Profiles
Testing
- JUnit & AssertJ
- Mockito
- Testing support by Spring: @MockBean, @Autowired, @SpringBootTest
- ObjectMother and Builder Pattern
- Parameterized tests
Web APIs mit Spring
- Common annotations
- DTOs for data exchange
- Bean Validation
- Web tests with WebTestClient
- OpenAPI: Code First, UI, Code Generator
- Uploading and downloading files
Data Access with Spring Data JPA
- Interaction between Hibernate, JPA, and Spring
- Database access using @Entity and repositories
- Relations using @ManyToOne, @OneToMany, and @ManyToMany
- Testcontainers, in-memory, and MySQL
- Flyway as a secure migration tool
- Complex queries with JPQL, EntityGraph, and Projections
- Stable processes through @Transactional
- Optimistic locking using @Version
Security
- OAuth2
- Keycloak setup and integration
- Spring as a resource server
- Spring as a client role
- Spring as an OAuth2 Proxy (B4F)
Microservices and Monoliths
- Discussion of the two approaches
- Introduction to a microservice architecture using Spring Cloud (OpenFeign, RabbitMQ, Hystrix, Eureka)
- ArchUnit & Modulith for stable monoliths
Manfred Steyer is a Google Developer Expert (GDE) for Angular and Tursted Collaborator in the Angular team. Together with his team, he looks after customers in the entire German language area. The focus is on business and industrial applications based on Angular.

