What you'll learn
Learn how to develop Microservices with Spring Boot
Learn how to deploy and manage Spring Boot Microservices with Spring Cloud
How to deconstruct a monolith into Spring Boot Microservices
Best Practices for Developing RESTFul APIs with Spring MVC
How to consume RESTFul APIs using Spring RestTemplate
Using Java Bean Validation with Spring Boot
How to use Project Lombok and MapStruct to reduce boiler plate code
Generate API documentation with Spring REST Doc
Configure Jackson for JSON processing with Spring Boot
Use JMS for messaging between Spring Boot Microservices
Use Spring State Machine to Apply the Saga Pattern with Microservices
Must know Java and Spring Framework
Basic Docker Skills
SQL Skills - MySQL is used in course
Linux skills helpful
Microservices are all the buzz in the industry right now.
Building a microservice is not just a matter of using RESTFul APIs.
Microservices are much MUCH more than that.
In this course you will learn that Microservices are an architectural style. The allow companies to achieve massive scale while maintaining a high degree of flexibility.
This course goes beyond simple RESTful APIs and explores microservices as an architectural style.
** What Students are Saying about the Course **
5 STARS Great course, you can be sure about it. If you're fairly new to the java world and spring framework, I highly suggest to follow Spring Framework from beginner to guru (the teacher is always John). In my experience I can tell you that after the first course, I managed to progress in my career twice, with praises of my colleagues and managers. The content of both courses is very well explained and easy to learn. If you want to stand out, definitely this course worth the money.
5 STARS Very good course on microservices with Spring! It gave me a good starting point for the upcoming task at my work! 5* all the way for John!
5 STARS I like this course a lot! It's exactly what I needed after some experience with Spring Boot, to go to the next level. A lot of applications are presented, giving the opportunity to exercise what you've learned. The assignments are also very welcomed.
5 STARS Very VERY good content, well structured approach and clear explanations. Very enjoyable and educative. I'm even picking up a few techniques / frameworks I hadn't really used before.
About the Course
Traditionally, large enterprise class applications were developed as large monolithic applications.
The Spring Framework started as an alternative to J2EE (now JEE) for building these large monolithic enterprise applications.
As the industry evolved to favor microservices over monoliths, the Spring Framework and Spring Boot evolved also.
The Spring Framework gives you a battle-tested enterprise grade framework for building applications.
Spring Boot and Spring Cloud are tools specifically for the development of microservices using the Spring Framework.
Microservices present a unique set of challenges over monoliths. Spring Boot and Spring Cloud help you overcome these changes.
- What are these challenges that microservices have, which traditional monoliths do not?
- Is it okay for microservices to share databases?
- How do you coordinate business logic across a series of microservices?
- How do you manage transactions across serval microservices with different databases?
To explain these questions, in this course you get to explore a traditional Spring Boot monolith type of application. (Along the style of Spring Pet Clinic).
We will then re-create this monolithic application using a set of microservices.
You get to see, step by step how to build 3 different microservices.
Microservices are much more than just having a set of RESTFul APIs. Microservices frequently use asynchronous messaging systems, which is fully covered.
While the Spring Framework and Spring Boot are the tools you use to construct Microservices, Spring Cloud provides the tools to deploy microservices.
You get to see the latest tools in Spring Cloud for deploying Spring Boot Microservices into a distributed (or cloud) environment.
In 2018, Netflix announced several core projects to Spring Cloud were entering maintenance mode. Meaning no new development would be done on these projects.
Thus, in December of 2018, the Spring Cloud Team recommended several key replacements:
Hystrix --> Resliience4J
Ribbon --> Spring Cloud Load Balancer
Zuul 1 --> Spring Cloud Gateway
Archaius 1 --> Spring Cloud Config
Therefore, the recommend replacements are covered in this course.
Covered in this Course
In this course you will learn:
- Develop RESTful Services using Spring MVC
- Consume RESTFul Services with Spring RestTemplate
- How to use Project Lombok
- How to use MapStruct
- Spring Data JPA with Hibernate
- Configuration of Spring Boot for MySQL and H2
- How to use and configure Jackson for processing JSON with Spring Boot
- Data validation with Spring Boot and Hibernate Validator
- Documentation and testing of Spring Boot microservices using Spring RESTdocs
- Standardizing dependencies using Apache Maven
- Spring Application Events
- Using JMS Messaging using Apache ActiveMQ Artemis
- The microservice Saga Pattern
- How to use Spring State Machine for coordinating Sagas
- Integration Testing using Spring Boot and JUnit 5
- Using WireMock with JUnit 5
- How to use Awaitily in your Integration Tests
- The API Gateway pattern using Spring Cloud Gateway
- Load Balanced Routes using Netflix Ribbon / Spring Cloud Loadbalancer
- Service Registration using Netflix Eureka
- Service Discovery with Netflix Eureka
- Service Discovery using Spring Cloud OpenFeign
- Circuit Breaker Pattern using Reslience4J and Hystrix / Spring Cloud OpenFeign
- Manage configuration with Spring Cloud Config
- Distributed tracing with Spring Cloud Sleuth and Zipkin
- Securing Spring Cloud with Spring Security
- Use Docker to create images for your Spring Boot applications
- Push your Docker Images to Docker Hub
- Configure Logback with Logstash for JSON logging output
- Using Docker Compose to start and stop your microservices
- Use ELK stack (Elasticsearch, Logstash, Kibana) for consolidated Logging
- Provision virtual machines in the cloud for Eureka, Apache ActiveMQ Artemis, Spring Cloud Config, Zipkin, Elasticsearch, and Kibana.
- Provision MySQL databases using Digital Ocean.
- Create Docker Droplets (aka Virtual Machines) in Digital Ocean
- Deploy Spring Cloud Config in the the cloud with Eureka
- Create a Docker Swarm Cluster for Spring Boot Microservices
And much much more!
Inside the Course
- Links all source code examples (Dozens of GitHub repositories are used for this course!)
- Challenging Assignments
- All slides are downloadable as PDFs for your reference and study
Course Extra - IntelliJ IDEA Ultimate
Students enrolling in the course can receive a free 4 month trial license to IntelliJ IDEA Ultimate! Get hands on experience using the Java IDE preferred by Spring Framework professionals!
Course Extra - Access to a Private Slack Community
You're not just enrolling in a course --> You are joining a community learning Spring.
With your enrollment to the course, you can access an exclusive Slack community. Get help from the instructor and other Spring Framework Gurus from around the world - in real time! This community is only available to students enrolled in this course.
This is a very active Slack community with hundreds Spring Framework Gurus from around the world!
When you enroll in this course, you can join this community of awesome gurus!
Who this course is for:
- Java Developers who wish to learn how to develop Spring Boot Microservices with Spring Cloud
About the instructor
Hi. I’m John.
I’ve been in the IT industry for over 25 years. Today, I specialize mainly in Java, the most successful and widely known programming language in use today. I also specialize with the Spring Framework, which the most popular open source application framework for building enterprise class applications on the Java platform. Just some of the organizations I’ve worked with include Visa, Kohls, Federal Home Loan Bank, and Belk Department Stores.
Through the courses I’m providing, I hope to leverage my years of experience to accelerate your learning of the Spring Framework. I’m not going to lie to you. The Spring Framework is a big framework. The environment for enterprise Java is even bigger. If you’re new to Java, you have a lot to learn. I hope through the content on this web site I can accelerate your education of the Java and Spring landscape.