Microservices and Cloud-Native Apps Development from Scratch
- 9 hours on-demand video
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Use Spring Framework 5 to build an end to end Reactive application with MongoDB
- Learn functional programming with Spring 5 and Build a reactive web-stack using Spring WebFlux.
- Develop web applications integrating Spring security, Spring REST, JPA Hibernate, and Spring WebFlux.
- Get to know the advanced features of Spring Boot in order to effectively develop and monitor applications.
- Develop simple applications to integrate Spring with JPA and Big Data technologies.
- Learn how Spring Cloud helps you develop solutions for configuration management, service discovery, circuit breakers, and intelligent routing.
- Understand the basics of Spring Cloud Data Flow and use it to build basic data flow use cases.
This video aims to explore the different types of context a Spring MVC application has. We learn to configure Spring MVC from XML to Java config, followed by dispatcher servlet processing.
• Understand different types of context and create them
• Learn to migrate from XML config to Java config
• Understand the dispatcher servlet process
This video gives an overview of the topics for day 2 and also demonstrates the solution to the day 1 assignment.
• Demonstrate the solution using a real-world example
This video explains handler mappers and handler interceptor in Spring MVC. We also learn to create controllers.
• Understand handler mapping and handler interceptors
• Learn about controllers in Spring MVC
• Demonstrate passing data from view to controller and vice-versa
This video explains how to do exception handling in Spring MVC, followed by leveraging caching support and multipart requests for file uploads.
• Understand @ExceptionHandler and @ControllerAdvice
• Learn caching support for static pages/images/CSS and so on at the global level and local level
• Demonstrate multipart config and request processing for file(s) upload
Explore a practical approach and configuration of Spring WebFlux using annotated controllers having reactive MongoDB as the backend.
• Learn about WebFlux and reactive mongo dependencies
• Understand the Spring WebFlux MVC Java configuration
• Set up reactive mongo and reactive repositories
Explain the practical approach and configuration of Spring WebFlux using functional programming, having reactive MongoDB as the backend.
• Define functional programming
• Understand the Spring WebFlux functional programming configuration
• Set up reactive mongo and reactive repositories
This video explains how to use MockMvc object to perform get and post requests and expect the result, and how to do the form logins using MockMvc test cases.
• Learn about RequestPostProcessor configuration and static import.
• Explore post and get requests to different methods of controllers/service
• Perform form logins by creating multiple mock scenarios. Expect the result in test cases
Cloud-Native applications are those that can easily be deployed on the Cloud. These applications share a few common characteristics. We will begin by looking at the Twelve-Factor App which is a combination of common patterns among Cloud-Native applications.
The Build, Release, and Run phases
Solutions to some commonly encountered patterns when building systems on the Cloud
Spring Boot provides good default exception handling. We will start with looking at the default exception handling features provided by Spring Boot before moving on to customizing them.
Understand the default exception handling provided by Spring Boot
Create a resource that throws an exception
Create a custom exception
HATEOAS brings this concept of displaying related links for a given resource to RESTful services. When we return the details of a specific resource, we also return links to operations that can be performed on the resource, as well as links to related resources.
Spring Boot starter HATEOAS
A good service always validates data before processing it. In this video, we will look at the Bean Validation API and use its reference implementation to implement validation in our services.
Enable validation of the controller method
Add validations on the bean
Define a few validations on the Todo bean
There are multiple options to define a service contract for RESTful services. The most popular one in the last couple of years is Swagger. Swagger is gaining a lot of ground, with support from major vendors in the last couple of years. In this video, we will generate Swagger documentation for our services.
Generate Swagger specification
Define all the elements in the Todo bean
Create a todo for the user in Swagger UI
In this video, we will look at examples of some of the options Spring Data provides to customize your query methods.
Create a method by the name findByTodosTitlein UserRepository
Spring Data JPA also provides options to define custom queries
Create a method with the same name as the named query
Spring Cloud Bus makes it seamless to connect microservices to lightweight message brokers, such as Kafka and RabbitMQ. In this video, we will assume thatthere are five instances of Microservice A running in production.
Use Spring Cloud Bus to propagate the configuration change to multiple instances over a message broker such as RabbitMQ
Add connectivity to Spring Cloud Bus for Microservice A.
Update microservice-a.propertieswith a new message
Spring Cloud Data Flow provides interfaces to define applications and define flows between them using Spring DSL. Spring Data Flow Server understands the DSL and establishes the flow between applications.
Set up Spring Cloud Data Flow server
Set up Data Flow Shell project
Configure the apps
Spring Web Reactive is one of the important new features in Spring Framework 5. It brings in reactive capabilities for web applications. Spring Web Reactive is based on the same fundamental programming model as Spring MVC.
Create a project using Spring Initializr
Create Reactive Controller
Create an HTML view
- Prior Java Programming knowledge is assumed.
The Spring framework is a popular choice for developers when designing an enterprise-based application. It enables developers to create high-performing, reusable, easily testable, and loose coupling enterprise Java applications.
With this expert, guide you'll begin with the basics of Spring 5 where you'll learn to use Spring Framework 5 to build an end to end Reactive application with MongoDB, test your applications using MockMVC and Mockito. Then you will get an insight into the new features of Spring 5.0 to learn to build a Cloud-native application using Spring MVC. Moving further you will get a thorough understanding of how to build and extend microservices using Spring Boot, Develop simple applications to integrate Spring with JPA and Big Data technologies & much more.
By the end of the course, you'll have a solid knowledge of the Spring framework and modules and will be able to build enterprise-grade Java applications in 7 days.
Contents and Overview
This training program includes 3 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Spring 5 in 7 Days is your one-stop guide to learning and building applications using the Spring framework in 7 days. The Spring framework enables developers to create high-performing, reusable, easily testable, and loose coupling enterprise Java applications. It can be used to develop any Java application. By the end of the course, you'll have a solid knowledge of the Spring framework and modules and will be able to build enterprise-grade Java applications in 7 days.
The second course, Microservices and Cloud-Native Applications with Spring 5.0 begins with an insight into the new features in Spring 5.0 and shows you how to build a Cloud-native application using Spring MVC. The advanced features of Spring Boot will be illustrated through powerful examples. By the end of the video, you will be equipped with the knowledge and best practices required to develop microservices with the Spring Framework.
The third course, Working with Data and Cloud in Spring 5.0 begins with an insight into the new features in Spring 5.0 and shows you how to build an application using Spring MVC. You will realize how application architectures have evolved from monoliths to those built around microservices. You will then get a thorough understanding of how to build and extend microservices using Spring Boot. You will also understand how to build and deploy Cloud-Native microservices with Spring Cloud. The advanced features of Spring Boot will be illustrated through powerful examples. We will be introduced to a JVM language that’s quickly gaining popularity - Kotlin. Also, we will discuss how to set up a Kotlin project in Eclipse. By the end of the video, you will be equipped with the knowledge and best practices required to develop microservices with the Spring Framework.
About the Authors:
Ankit Mishra is a senior software engineer with extensive IT experience in mission-critical development projects and architecture designs. He has worked for giants such as Ericsson, Fidelity, and others. He has more than six years' experience in managing and delivering Spring MVC and Spring Security projects, Cloud deployAnkit Mishra is a Senior Software Engineer with extensive IT experience in mission-critical development projects and architecture designs. He has worked for giants such as Ericsson, Fidelity, and others. He has more than six years' experience in managing and delivering Spring MVC and Spring Security projects, Cloud deployment, and PaaS cloud administration. Currently, he is working on Spring microservices, Spring Security, cloud deployment, and tuning. Specialties: Red-Hat Certified engineer. Functional domains: Retail and Banking.
Ranga Rao Karanam is a programmer, trainer, and architect. His areas of interest include Cloud Native Applications, microservices, evolutionary design, high-quality code, DevOps, BDD, TDD, and refactoring. He loves consulting for start-ups on developing scalable, component-based Cloud Native applications, and following modern development practices such as BDD, continuous delivery, and DevOps. He loves the freedom the Spring Framework brings to developing enterprise Java applications. Ranga started in28minutes with the vision of creating high-quality courses on developing Cloud Native Java applications. He is looking forward to enhancing his already considerable success--75,000 students on Udemy and 35,000 subscribers on YouTube. Ranga likes to play cricket and go hiking. His dream is to spend a year hiking the Himalayas.
- ● This course is for Java developers who want to master Spring framework modules with Hibernate quickly to build powerful and secure applications and deploy them to the cloud.