
Modern Spring Backends for Angular

Rainer Hahnekamp, GDE
Experienced developer, software architect for enterprise applications, GDE for Angular, and NGRX Team Member. He runs Ng-News, a weekly Angular video newslette, speaks at international conferences.
Angular & Spring Boot Workshop
This workshop is aimed at different types of developers:
- Front-end developers (Angular, React, etc.) who want to dive into the back-end and already have basic Java knowledge
- Developers with experience in other backend technologies (e.g. PHP, .NET) who are looking to get started in Spring
- Java or Spring developers working with outdated Spring versions or Java EE who want to learn the current state
This workshop will provide essential knowledge for developing with Spring. Step-by-step, a production-ready application is created so that participants can immediately apply and try out the theoretical content.
The content focus assumes that an SPA framework such as Angular is used for the frontend. Therefore, there is a particular focus on web, fullstack (including some aspects of Angular), and OpenAPI.
There will also be an emphasis on testing from the beginning. Participants will be able to run their controllers against an in-memory database using HTTP or database-based tests.
The current version of Spring Boot will always be used as the basis.


Basics
- Spring Framework, Boot, and interaction with Java EE
- Initial Setup
- Gradle
- Web MVC Framework in general
- Spring Beans and IoC Container (Dependency Injection)
- Configuration via properties
- Logging
- Profiles
Testing
- JUnit & AssertJ
- Mockito
- Test support through Spring: @MockBean, @Autowired, @SpringBootTest
- ObjectMother and Builder Pattern
- Parameterized tests
Web APIs with Spring
- Common annotations
- DTOs for data exchange
- Bean Validation
- WebTests with WebTestClient
- OpenAPI: Code First, UI, Code Generator
- Up- and Downloads
Data access with Spring Data JPA
- Interaction between Hibernate, JPA, and Spring
- Database access using @Entity and repositories
- Relationships using @ManyToOne, @OneToMany and @ManyToMany
- Test Container, In-Memory, and MySQL
- Flyway as a secure migration tool
- Complex queries with JPQL, EntityGraph, and Projections
- Stable processes with @Transactional
- Optimistic locking with @Version
Security
- OAuth2
- Keycloak Setup und Integration
- Spring als Resource Server
- Spring als Client Role
- Spring als OAuth2 Proxy (B4F)
Micro Services and Monoliths
- Discussion of the two approaches
- Presentation of a MicroService architecture using Spring Cloud (OpenFeign, RabbitMQ, Hystrix, Eureka)
- ArchUnit & Modulith for stable monoliths
Upcoming events
Reviews
I also appreciated the concrete examples of how to implement DDD in folder and files structures.
Individual In-House Company Workshops
All of our workshops are also available remotely or in-house at any time.
Contact us for an appointment
FAQs on our workshops
How do your workshops and courses work?
Our seminars around Angular are a mixture of lecture, live coding and actual exercises. Together we implement what we have learned during the workshop directly on a example project. This mixture guarantees that the course never gets boring and “hands-on” is required instead of gray theory.
Who is the Angular hands-on training designed for?
Our Angular hands-on workshop is aimed at anyone who wants to develop applications with Angular in the future or is already doing so and now wants to better understand the background, context and building blocks of the framework.
Participants should have basic knowledge of web development (basic knowledge of HTML and JavaScript).
For advanced Angular developers we offer advanced seminars and intensive trainings on specific use cases.
Where do the Angular workshops take place?
Our trainings take place as public workshops in seminar rooms at central hotels in Germany, Austria and Switzerland. In-House company workshops take place at your office or conference room.
All courses are also available as remote workshops, where we meet online in a virtual classroom and do the training via video calls, screen sharing and live coding.
Who are the trainers?
Our workshops are held by experienced trainers and software architects. In recent years, we have provided Angular training to well-known companies – including well-known banks, insurance companies, industrial groups. Trainers include well-known conference speakers, authors of books and professional articles, bloggers, Google Developer Experts and university lecturers.
At what times are the training sessions held?
Especially for dedicated company trainings, we are happy to accommodate you. Typical times are 9:00AM to 4:30PM / 5:00PM. Some of our English-language workshops are timed so that you can also attend at US friendly times.
Can we also book online training courses?
Absolutely. In fact, since the pandemic, this has been our main business model and we have had very good experience with it. We use a combination of screen sharing, interactive online whiteboards, and are happy to connect to your computer for support during the exercises if you wish. As with our on-site training, we use a combination of short presentations, discussions, live coding and hands-on labs.
Since there is no travel involved, you also save time and money. We can also respond more flexibly to your scheduling needs.
Can we adapt the training for our purposes?
Yes, very much so. In fact, that’s one of the benefits of dedicated corporate training. You are welcome to weight, shorten or add to our agenda proposals. As a rule, we also coordinate with your trainer about 2 weeks before the training. If you wish, we can also arrange it earlier.
Why Angular?
Among other things, Angular’s wide distribution speaks for itself, but also the fact that Google, an Internet giant that also uses the framework very intensively, is behind it. Google alone has over 2600 solutions based on it. Due to the wide distribution, there is a large community and thus a lot of know-how on the market as well as (free and commercial) products that are adapted to Angular. In addition, Angular provides much of what you need for large applications out of the box: test automation, form management, routing, etc. In this respect, you get a stack whose components are coordinated and work together in the long term.
How do you compensate for different prior knowledge?
The good news up front is that participants with different levels of prior knowledge are the rule, not the exception, in adult education. That’s why you’ll find optional fade-in hints and bonus exercises on our exercise sheets, for those who are a little faster. Of course, we also provide personal support for the exercises.
How many participants are recommended?
If you book a company training with us, we leave this decision to you in principle. However, experience shows that there should not be more than 15 participants, especially since a seminar lives very much from questions, discussions and practical exercises.
What software do we need?
Please install the following software packages on your computer:
– NodeJS in current version (we test with current LTS version).
– Angular CLI (npm i -g @angular/cli)
– Git
– Visual Studio (free) or WebStorm/IntelliJ (commercial)
Selected happy customers





