SPRING BOOT LEARNING ROADMAP
What is the spring ?
The Spring Framework is an application framework and inversion of control container for the Java platform. The framework’s core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE platform.
What is the Spring Boot ?
Spring Boot is an open-source micro framework maintained by a company called Pivotal. It provides Java developers with a platform to get started with an auto configurable production-grade Spring application. With it, developers can get started quickly without losing time on preparing and configuring their Spring application.
This post will guide you through understanding what Spring Boot is and what it’s used for.
But before diving in, we’ll briefly discuss its underlying tool: Spring. Why? Understanding Spring is crucial to formulate a constructive opinion about Spring Boot.
What is Quarkus ?
Quarkus is a full-stack, Kubernetes-native Java framework made for Java virtual machines (JVMs) and native compilation, optimizing Java specifically for containers and enabling it to become an effective platform for serverless, cloud, and Kubernetes environments.
Quarkus is designed to work with popular Java standards, frameworks, and libraries like Eclipse Micro Profile and Spring (demonstrated together as part of a session in this Red Hat Summit 2020 track), as well as Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Spring, Infinispan, Camel, and many more.
Quarkus’ dependency injection solution is based on CDI (contexts and dependency injection) and includes an extension framework to expand functionality and to configure, boot, and integrate a framework into your application. Adding an extension is as easy as adding a dependency, or you can use Quarkus tooling.
It also provides the correct information to GraalVM (a universal virtual machine for running apps written in a number of languages, including Java and JavaScript) for native compilation of your application.
#https://www.redhat.com/en/topics/cloud-native-apps/what-is-quarkus
First You Never Forget Read The Documentation
The first you should read the documentation . Because documentation include all the updated details. As a software engineer you should try to learn using official documentation details.
What is the Configuration ?
So this is really important . You understand how configuration works. So set up your “Database for example” or having different configuration based of an environment. Such as Development, Testing, Pre, Pod, Staging. On all of the stuff. You should be aware of how to use configuration. And in the Spring world, they call it “profiles”.
What is the Spring MVC ?
So this is where going to able to write your Restful APIS.
A Spring MVC is a Java framework which is used to build web applications. It follows the Model-View-Controller design pattern. It implements all the basic features of a core spring framework like Inversion of Control, Dependency Injection.
A Spring MVC provides an elegant solution to use MVC in spring framework by the help of DispatcherServlet. Here, DispatcherServlet is a class that receives the incoming request and maps it to the right resource such as controllers, models, and views.
#https://www.javatpoint.com/spring-mvc-tutorial
What is web servers… “Tomcat, jerry” ?
So Really just learn one or other . So I’ll say Tomcat or Jerry. Those are really popular web service that you can use within Spring.
What is HTTP “POST,GET,PUT,DELETE,PATCH..”?
Here I have got HTTP. So just understand what , I get request “POST,GET,PUT,DELETE,PATCH..” and HTTP errors handling . In generally the understanding of HTTP right.
#https://www.toolsqa.com/client-server/http-request/
#https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
What is Spring Rest Docs ?
So basically, if you expose or if your writing APIs, then you should be producing documentation. And this is what this is for.
#https://spring.io/projects/spring-restdocs
What is the Dependency Injection ?
So dependency injection is really, important because it will help you to write code easily test.
“n software engineering, dependency injection is a technique whereby one object (or static method) supplies the dependencies of another object. A dependency is an object that can be used (a service).”
What is Available Annotations ?
Spring Boot Annotations is a form of metadata that provides data about a program. In other words, annotations are used to provide supplemental information about a program. It is not a part of the application that we develop. It does not have a direct effect on the operation of the code they annotate. It does not change the action of the compiled program.
#https://springframework.guru/spring-framework-annotations/
What is Scheduling ?
An example if you want to execute piece of code, for example, every five minutes or ten minutes, for example, so you can think of maybe someone has registered to your system to your application, and then after five minutes you want to and then basically you want to send an email. So you could that with scheduling, then moving an to security right.
#https://spring.io/guides/gs/scheduling-tasks/
What is Security {ex: OAuth2, Form AUTH, Basic AUTH, JWT, Authentication and Authorization}?
Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Security is found in how easily it can be extended to meet custom requirements.
#https://spring.io/projects/spring-security
Features
- Comprehensive and extensible support for both Authentication and Authorization
- Protection against attacks like session fixation, clickjacking, cross site request forgery, etc
- Servlet API integration
- Optional integration with Spring Web MVC much more…
See this,
https://www.youtube.com/watch?v=her_7pa0vrg