Spring Modulith, Spring Boot 3, Spring Data JPA, Spring MVC, Transition from monolith to microservices easily
What you'll learn You will how to apply Spring Modulith to any Spring Project
You will learn how to Document with Spring Modulith Documenter
you will learn how to mirror an already existing database with Spring Jpa
You will learn how to section your projects into modules(packages)
You will learn how to work with spring events
You will learn how to ensure your modules are cleanly separated
You will learn how to expose and restrict modules
You will learn how to add actuator modules and its properties to actuator
You will write integration tests to ensure modules are communicating with the defined rules
You will learn how to create custom exceptions and validation
You will learn 3 ways to Dockerize your application
Requirements Java 21+. However Java 8+ experience is enough
Spring Boot
Basic Knowledge of Spring JPA
Description Do you wish to know how to structure your application?Do you wish to easily transition your application to microservices having started out as a monolith? Then this course is for youIt teaches you from scratch all you need to know about Spring Modulith. Where we break entities and its related objects to modules, Use existing Modulith rules to enforce compliance.You will master why and how to use Spring events to communicate between modules.Also covered are mirroring existing database with Spring Data JPA.The course also explains pragmatically on how to save events: Successful events for metrics through illustration.Failed Events: on how to retrieve, APIs made available to trigger the rerun.Created a custom class to show how we can use a scheduler (cronjob) to rerun the events.also manual triggering of the failed event through an exposed method.Inside the Course, you will learn about and/or highlight a bit on:Spring EventsSpring Data JPAContainerization (Docker)The course shows three(3) ways we can containerize our application. i.e create imagewe likewise ran the application via Docker commands in the terminalclear usage on how services communicate within the containerized environmentwe leveraged Docker networks clearly defined in the compose filePostgresDBCustom Exceptions and ValidationsModulith MetricsJava recordsSpring Boot Starter Docker Compose and how to use it in development and Integration Tests
Overview Section 1: Modulith : Introduction
Lecture 1 Introduction
Lecture 2 Monoliths vs Microservices
Lecture 3 Modulith Course Resources
Section 2: Boostrapping Dependencies
Lecture 4 Modulith: Maven Dependencies
Lecture 5 Modulith: Exploring Spring Starter docker-compose dependency
Lecture 6 Modulith: Exploring Modulith Dependency
Section 3: Modulith : Entity Definitions and Bootstrap Data
Lecture 7 Modulith : Entity Definition 1
Lecture 8 Modulith : Entity Definition 2
Lecture 9 Modulith : limit Repository Access Level
Lecture 10 Modulith : Prepopulate Inventory Data
Section 4: Modulith : Module Integration Test
Lecture 11 Modulith: Integration Test 1
Lecture 12 Modulith : Integration Test 2
Lecture 13 Modulith : Integration Test 3
Section 5: Modulith : Named Interface And Order Service
Lecture 14 Modulith : Named Interface
Lecture 15 Modulith : Named Interface Continued
Lecture 16 Modulith : Order Service 1
Lecture 17 Modulith : Order Service 2
Lecture 18 Modulith : Order Service 3
Section 6: Modulith : Events And Listeners
Lecture 19 Modulith : Event 1
Lecture 20 Modulith : Event 2
Lecture 21 Modulith : Simulate Failed Event
Lecture 22 Modulith : Create Order Integration Test
Lecture 23 Modulith : Create Order Integration Test 2
Lecture 24 Modulith : Model/Mirror Event Publication Table
Lecture 25 Modulith : Event Action 1
Lecture 26 Modulith : Event Action 2
Lecture 27 Modulith : Republish Incomplete Event
Lecture 28 Modulith : Republish Incomplete Event 2
Section 7: Modulith : Payment And Email Listener
Lecture 29 Modulith : Payment, Email Listener
Lecture 30 Note
Lecture 31 Modulith : Implement Payment II
Lecture 32 Modulith : Implement payment part III
Section 8: Modulith : Exception and Validation
Lecture 33 exception and validation Part I
Lecture 34 exception and validation Part II
Section 9: Modulith Documentation
Lecture 35 Note
Lecture 36 Modulith : Documentation Part I
Lecture 37 Modulith : Documentation Part II
Section 10: Modulith : Production Ready Features
Lecture 38 Modulith : Runtime Support and Actuator
Lecture 39 Note
Lecture 40 Modulith : dockerize part 1
Lecture 41 Modulith : dockerize Part II
Section 11: Finally
Lecture 42 Wrap up
Lecture 43 Congratulations !!!
This course is for all Java developers: beginners to advanced who want to build projects that easily ship from monolith to microservices,For developers/Engineers who want to properly structure a projects very neatly,The Course is idea for all Java/ Spring Developers and intending Spring Developers