chore: sync content to repo (#10307)

Co-authored-by: nilbuild <4921183+nilbuild@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2026-09-11 09:38:06 +02:00
committed by GitHub
co-authored by nilbuild
parent 824eb95b74
commit dc8b2a6d5d
39 changed files with 52 additions and 135 deletions
@@ -1,11 +1,8 @@
# Actuators
Spring Boot Actuators are a set of production-ready features in Spring Boot that allow you to monitor and manage your application in various ways. They provide a variety of endpoints that expose information about the health and performance of your application, and allow you to perform various management tasks such as shutting down the application or refreshing its configuration.
Spring Boot Actuators are typically used in production environments to monitor the health and performance of an application and identify any issues that may arise. They can also be used in development and testing environments to gain insight into the internal workings of the application.
Actuators are a set of built-in endpoints in Spring Boot that expose information about a running application, such as health status, metrics, environment properties, and active beans. They work as HTTP or JMX endpoints, like `/actuator/health` or `/actuator/metrics`, that can be enabled or disabled individually through configuration. Teams use actuators to monitor and manage applications in production without writing custom monitoring code.
Visit the following resources to learn more:
- [@official@Building a RESTful Web Service with Spring Boot Actuator](https://spring.io/guides/gs/actuator-service/)
- [@article@What is Spring Boot Actuator](https://www.baeldung.com/spring-boot-actuators)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@What is Spring Boot Actuator](https://www.baeldung.com/spring-boot-actuators)
@@ -1,18 +1,6 @@
# Annotations
One of the key features of Spring Boot is its use of annotations, which are used to configure various aspects of the application and to enable certain features.
Some of the most commonly used annotations in Spring Boot include:
* `@SpringBootApplication`
* `@RestController`
* `@Autowired`
* `@Value`
* `@Enable`
* `@Configuration`
* `@Bean`
These are just a few examples of the many annotations that are available in Spring Boot. There are many other annotations that you can use to configure various aspects of your application, such as security, caching, and data access.
OAnnotations are metadata markers placed on classes, methods, or fields that tell Spring how to treat a piece of code, such as `@Component` to register a bean or `@Autowired` to inject a dependency. Spring Boot relies heavily on annotations to reduce configuration files, using ones like `@SpringBootApplication` to bootstrap an entire application with sensible defaults. They are processed at startup to wire beans, map requests, and configure behavior without extra boilerplate.
Visit the following resources to learn more:
@@ -4,5 +4,4 @@ The Spring MVC (Model-View-Controller) is a web application framework that is pa
Visit the following resources to learn more:
- [@article@Overview of Spring MVC Architecture](https://terasolunaorg.github.io/guideline/1.0.1.RELEASE/en/Overview/SpringMVCOverview.html)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
- [@article@Overview of Spring MVC Architecture](https://terasolunaorg.github.io/guideline/1.0.1.RELEASE/en/Overview/SpringMVCOverview.html)
@@ -1,13 +1,7 @@
# Architecture
Spring Boot follows a layered architecture in which each layer communicates with the layer directly below or above (hierarchical structure) it. The four layers in Spring Boot are as follows:
* **Presentation Layer**: handles the HTTP requests, translates the JSON parameter to object, and authenticates the request and transfer it to the business layer.
* **Business Layer**: The business layer handles all the business logic. It consists of service classes and uses services provided by data access layers. It also performs authorization and validation.
* **Persistence Layer**: The persistence layer contains all the storage logic and translates business objects from and to database rows.
* **Database Layer**: In the database layer, CRUD (create, retrieve, update, delete) operations are performed.
Spring's architecture is built around a container that manages application objects, called beans, and wires their dependencies together. It follows a modular design, split into core modules for dependency injection, data access, web, and testing, so applications can use only the parts they need. Spring Boot builds on top of this architecture by adding auto-configuration and embedded servers, letting applications run with minimal setup.
Visit the following resources to learn more:
- [@article@Spring Boot Architecture Detailed Explanation](https://www.interviewbit.com/blog/spring-boot-architecture)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
- [@article@Spring Boot Architecture Detailed Explanation](https://www.interviewbit.com/blog/spring-boot-architecture)
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@official@Spring Authentication](https://docs.spring.io/spring-security/reference/features/authentication/index.html)
- [@official@Spring Security Authentication](https://spring.io/projects/spring-security)
- [@article@Spring Security Basic Authentication](https://www.baeldung.com/spring-security-basic-authentication)
- [@feed@Explore top posts about Authentication](https://app.daily.dev/tags/authentication?ref=roadmapsh)
- [@article@Spring Security Basic Authentication](https://www.baeldung.com/spring-security-basic-authentication)
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@official@Spring Authorization](https://docs.spring.io/spring-security/reference/servlet/authorization/index.html)
- [@article@Advanced authorization in Spring](https://docs.spring.io/spring-security/site/docs/5.2.11.RELEASE/reference/html/authorization.html)
- [@article@Spring Security: Authentication and Authorization In-Depth](https://www.marcobehler.com/guides/spring-security)
- [@feed@Explore top posts about Authorization](https://app.daily.dev/tags/authorization?ref=roadmapsh)
- [@article@Spring Security: Authentication and Authorization In-Depth](https://www.marcobehler.com/guides/spring-security)
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@official@Spring Cloud Config](https://spring.io/projects/spring-cloud-config)
- [@article@Quick Intro to Spring Cloud Configuration](https://www.baeldung.com/spring-cloud-configuration)
- [@article@Spring Boot - Cloud Configuration Server](https://www.tutorialspoint.com/spring_boot/spring_boot_cloud_configuration_server.htm)
- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh)
- [@article@Spring Boot - Cloud Configuration Server](https://www.tutorialspoint.com/spring_boot/spring_boot_cloud_configuration_server.htm)
@@ -1,8 +1,6 @@
# Components
The Spring MVC (Model-View-Controller) framework has several key components that work together to handle the requests and generate the appropriate responses in a web application.
There are other supporting components that are used to manage the lifecycle of the application's objects, such as the Spring IoC container and different interceptors that provides additional functionality, such as caching and security.
The Spring MVC (Model-View-Controller) framework has several key components that work together to handle the requests and generate the appropriate responses in a web application. There are other supporting components that are used to manage the lifecycle of the application's objects, such as the Spring IoC container and different interceptors that provides additional functionality, such as caching and security.
Visit the following resources to learn more:
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@article@Spring Dependency Injection](https://www.baeldung.com/spring-dependency-injection)
- [@article@Dependency Injection Using Spring Boot](https://medium.com/edureka/what-is-dependency-injection-5006b53af782)
- [@video@Understanding Dependency Injection](https://www.youtube.com/watch?v=GB8k2-Egfv0)
- [@feed@Explore top posts about Dependency Injection](https://app.daily.dev/tags/dependency-injection?ref=roadmapsh)
- [@video@Understanding Dependency Injection](https://www.youtube.com/watch?v=GB8k2-Egfv0)
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@official@Embedded Web Servers How-to guides](https://docs.spring.io/spring-boot/docs/2.1.9.RELEASE/reference/html/howto-embedded-web-servers.html)
- [@article@Embedded Servers in Spring](https://subscription.packtpub.com/book/application-development/9781789132588/3/ch03lvl1sec24/embedded-servers)
- [@article@What is an Embedded Server? (Spring Boot)](https://www.springboottutorial.com/java-programmer-essentials-what-is-an-embedded-server)
- [@feed@Explore top posts about Embedded Systems](https://app.daily.dev/tags/embedded?ref=roadmapsh)
- [@article@What is an Embedded Server? (Spring Boot)](https://www.springboottutorial.com/java-programmer-essentials-what-is-an-embedded-server)
@@ -1,13 +1,6 @@
# Entity lifecycle
In Hibernate, we can either create a new object of an entity and store it into the database, or we can fetch the existing data of an entity from the database. These entity is connected with the lifecycle and each object of entity passes through the various stages of the lifecycle.
There are mainly four states of the Hibernate Lifecycle :
* Transient State
* Persistent State
* Detached State
* Removed State
Entity lifecycle describes the different states an object managed by Hibernate can go through: transient, persistent, detached, and removed. A transient entity exists only in memory and is not tracked by Hibernate, while a persistent entity is attached to a session and synchronized with the database. Knowing these states helps developers understand when changes to an object are actually saved, and when it needs to be reattached or merged back into a session.
Visit the following resources to learn more:
@@ -1,12 +1,9 @@
# Eureka
Spring Cloud Eureka is a library for service discovery in a microservices-based architecture. Service discovery is a technique that allows services to find and communicate with each other, without having to hardcode their addresses.
Eureka is a service registry that allows service instances to register themselves and to discover other services by name. It provides a simple, consistent way for services to find and communicate with each other, and it integrates with other Spring Cloud libraries such as Ribbon and Feign to provide load balancing and declarative REST clients.
Eureka is a service discovery tool from Netflix, integrated into Spring Cloud, that lets microservices register themselves and find other services by name instead of hardcoded addresses. Each service instance registers with a Eureka server on startup and sends periodic heartbeats to confirm it is still available. Other services query the Eureka server to look up healthy instances of a service before making a request, which supports load balancing and failover.
Visit the following resources to learn more:
- [@article@Introduction to Spring Cloud Netflix Eureka](https://www.baeldung.com/spring-cloud-netflix-eureka)
- [@article@Spring Boot - Eureka Server](https://www.tutorialspoint.com/spring_boot/spring_boot_eureka_server.htm)
- [@video@Introducing Spring Cloud EUREKA](https://www.youtube.com/watch?v=1uNo1NrqsX4)
- [@feed@Explore top posts about Backend Development](https://app.daily.dev/tags/backend?ref=roadmapsh)
- [@video@Introducing Spring Cloud EUREKA](https://www.youtube.com/watch?v=1uNo1NrqsX4)
@@ -1,6 +1,6 @@
# Introduction
Spring Boot is a framework for building applications based on the Spring Framework, a widely-used, open-source framework for building Java-based enterprise applications. Spring Boot aims to make it easy to create stand-alone, production-grade Spring-based applications that you can "just run".
Spring Boot is an extension of the Spring Framework that simplifies the creation of production-ready Java applications. It removes the need for manual configuration by providing sensible defaults, embedded servers, and auto-configuration based on the libraries present in the classpath. Developers use it to build stand-alone applications and microservices without writing large amounts of boilerplate setup code.
Visit the following resources to learn more:
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@article@Testing JPA Queries with Spring Boot and @DataJpaTest](https://reflectoring.io/spring-boot-data-jpa-test/)
- [@article@@DataJpaTest example for Spring Data Repository Unit Test](https://www.bezkoder.com/spring-boot-unit-test-jpa-repo-datajpatest/)
- [@article@Testing in Spring Boot](https://www.baeldung.com/spring-boot-testing)
- [@feed@Explore top posts about Java](https://app.daily.dev/tags/java?ref=roadmapsh)
- [@article@Testing in Spring Boot](https://www.baeldung.com/spring-boot-testing)
@@ -1,8 +1,6 @@
# JSP Files
JSP (JavaServer Pages) is a technology for building dynamic web pages using Java.
In a Spring MVC application that uses JSPs, the view component of the MVC pattern is implemented using JSP files. The JSP files contain the presentation logic for the application and are responsible for generating the HTML that is sent to the client's web browser. When a user makes a request to a Spring MVC application, the DispatcherServlet, which acts as the front controller, handles the request and delegates responsibility for generating the response to the appropriate JSP file.
JSP (JavaServer Pages) files are templates that mix HTML with Java code to generate dynamic web pages on the server before sending them to the browser. A JSP file is compiled into a servlet the first time it is requested, and its output is combined with data passed from a controller to render the final page. Spring MVC can use JSP as a view technology, though many modern applications favor other templating engines or return JSON instead of server-rendered pages.
Visit the following resources to learn more:
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@article@JWT Token Authentication in Spring](https://springframework.guru/jwt-authentication-in-spring-microservices-jwt-token/)
- [@article@Spring Security with JWT for REST API](https://www.toptal.com/spring/spring-security-tutorial)
- [@article@Spring Security - JWT](https://www.tutorialspoint.com/spring_security/spring_security_with_jwt.htm)
- [@feed@Explore top posts about Authentication](https://app.daily.dev/tags/authentication?ref=roadmapsh)
- [@article@Spring Security - JWT](https://www.tutorialspoint.com/spring_security/spring_security_with_jwt.htm)
@@ -1,3 +1,3 @@
# Micrometer
Micrometer is a vendor-neutral metrics facade for Java and the default metrics library in Spring Boot. It exposes application metrics — timers, gauges, counters, and histograms — through a unified API that can report to backends such as Prometheus, Datadog, or Graphite, and integrates with Spring Boot Actuator.
Micrometer is a vendor-neutral metrics facade for Java and the default metrics library in Spring Boot. It exposes application metrics — timers, gauges, counters, and histograms — through a unified API that can report to backends such as Prometheus, Datadog, or Graphite, and integrates with Spring Boot Actuator.
@@ -5,5 +5,4 @@ Spring Microservices is a framework that makes it easier to build and manage mic
Visit the following resources to learn more:
- [@official@Microservices with Spring](https://spring.io/microservices)
- [@article@Microservices with Spring Boot ](https://medium.com/omarelgabrys-blog/microservices-with-spring-boot-intro-to-microservices-part-1-c0d24cd422c3)
- [@feed@Explore top posts about Microservices](https://app.daily.dev/tags/microservices?ref=roadmapsh)
- [@article@Microservices with Spring Boot](https://medium.com/omarelgabrys-blog/microservices-with-spring-boot-intro-to-microservices-part-1-c0d24cd422c3)
@@ -1,6 +1,6 @@
# Servlet
A Spring servlet is a Java class that serves as the central point for handling requests and managing the lifecycle of the Spring IoC container. The Spring Framework provides a class called DispatcherServlet, which acts as the front controller in a Spring-based web application. When a user makes a request to a Spring web application, the DispatcherServlet is responsible for handling the request, delegating responsibility to other components, and ultimately returning a response to the user. The DispatcherServlet also manages the lifecycle of the Spring IoC container, including creating and initializing the container and making its beans available for use by other components in the application.
A servlet is a Java class that handles requests and generates responses within a web server, following the Java Servlet API. It works by receiving an HTTP request from a servlet container, such as Tomcat, processing it through a `service` method, and writing back a response. Spring MVC builds on top of servlets, using a single central servlet, `DispatcherServlet`, to route requests to application code instead of requiring developers to write servlets directly.
Visit the following resources to learn more:
@@ -1,12 +1,9 @@
# Spring AOP
Spring AOP (Aspect-Oriented Programming) is a feature of the Spring Framework that allows developers to define certain behaviors (i.e., "aspects") that cut across multiple classes, such as logging or transaction management. These behaviors, which are called "advices," can be applied to specific "join points" (i.e., points in the execution of a program) in the application, using "pointcuts" to determine where the advices should be applied.
Spring AOP allows developers to separate the implementation of these cross-cutting concerns from the business logic of the application, making the code more modular and easier to understand. This can also make the application more flexible, since the same advices can be applied to different parts of the code without having to duplicate the code for the advices themselves.
Spring AOP (Aspect-Oriented Programming) lets developers add behavior to existing code without changing it directly, by defining cross-cutting concerns like logging, security, or transaction management as separate aspects. It works by intercepting method calls through proxies and applying the extra logic before, after, or around the original method. Spring uses AOP internally for features such as `@Transactional`, and developers can define their own aspects for reusable functionality.
Visit the following resources to learn more:
- [@article@Spring AOP Tutorial](https://www.simplilearn.com/tutorials/spring-tutorial/spring-aop-aspect-oriented-programming)
- [@article@AOP with Spring Framework](https://www.tutorialspoint.com/spring/aop_with_spring.htm)
- [@article@Spring AOP Tutorial](https://howtodoinjava.com/spring-aop-tutorial/)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@Spring AOP Tutorial](https://howtodoinjava.com/spring-aop-tutorial/)
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@article@Spring - Bean Scopes](https://www.tutorialspoint.com/spring/spring_bean_scopes.htm)
- [@article@Quick Guide to Spring Bean Scopes](https://www.baeldung.com/spring-bean-scopes)
- [@article@Spring Bean Scopes](https://www.digitalocean.com/community/tutorials/spring-bean-scopes)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@Spring Bean Scopes](https://www.digitalocean.com/community/tutorials/spring-bean-scopes)
@@ -4,5 +4,4 @@ Spring Boot starters are a set of convenient dependency descriptors that you can
Visit the following resources to learn more:
- [@article@Intro to Spring Boot Starters](https://www.baeldung.com/spring-boot-starters)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@Intro to Spring Boot Starters](https://www.baeldung.com/spring-boot-starters)
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@official@Spring Cloud Circuit Breaker](https://spring.io/projects/spring-cloud-circuitbreaker)
- [@article@Quick Guide to Spring Cloud Circuit Breaker](https://www.baeldung.com/spring-cloud-circuit-breaker)
- [@article@Spring Cloud - Circuit Breaker using Hystrix](https://www.tutorialspoint.com/spring_cloud/spring_cloud_circuit_breaker_using_hystrix.htm)
- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh)
- [@article@Spring Cloud - Circuit Breaker using Hystrix](https://www.tutorialspoint.com/spring_cloud/spring_cloud_circuit_breaker_using_hystrix.htm)
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@official@Spring Cloud Gateway](https://spring.io/projects/spring-cloud-gateway)
- [@article@What is Spring Cloud Gateway?](https://tanzu.vmware.com/developer/guides/scg-what-is/)
- [@article@Exploring the New Spring Cloud Gateway](https://www.baeldung.com/spring-cloud-gateway)
- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh)
- [@article@Exploring the New Spring Cloud Gateway](https://www.baeldung.com/spring-cloud-gateway)
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@official@Spring Cloud OpenFeign](https://spring.io/projects/spring-cloud-openfeign)
- [@article@Introduction to Spring Cloud OpenFeign](https://www.baeldung.com/spring-cloud-openfeign)
- [@article@Simple Implementation of Spring Cloud OpenFeign](https://medium.com/javarevisited/simple-implementation-of-spring-cloud-openfeign-7f022630d01d)
- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh)
- [@article@Simple Implementation of Spring Cloud OpenFeign](https://medium.com/javarevisited/simple-implementation-of-spring-cloud-openfeign-7f022630d01d)
@@ -5,5 +5,4 @@ Spring Cloud is a collection of libraries and tools for building cloud-native ap
Visit the following resources to learn more:
- [@official@Spring Cloud](https://spring.io/projects/spring-cloud)
- [@article@Spring Cloud Bootstrapping](https://www.baeldung.com/spring-cloud-bootstrapping)
- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh)
- [@article@Spring Cloud Bootstrapping](https://www.baeldung.com/spring-cloud-bootstrapping)
@@ -1,10 +1,9 @@
# Spring Data JDBC
Spring Data JDBC is a part of the Spring Data project that provides support for using JDBC (Java Database Connectivity) to interact with relational databases. It is designed to provide a simple and consistent programming model for interacting with databases using JDBC, while still allowing for the full power of JDBC to be used if needed. Spring Data JDBC provides a set of abstraction and utility classes that simplify the task of working with databases, such as a simple template class for executing SQL queries, a repository abstraction for implementing data access objects (DAOs), and support for pagination and sorting of query results. It works with both Java and Kotlin.
Spring Data JDBC is a lightweight alternative to Spring Data JPA that maps Java objects to database tables using plain JDBC instead of a full ORM like Hibernate. It follows a simpler model, where entities are loaded and saved as a whole aggregate without lazy loading or a persistence context to track changes. Developers choose it when they want more predictable SQL behavior and less complexity than a full JPA implementation offers.
Visit the following resources to learn more:
- [@official@Spring Data JDBC](https://spring.io/projects/spring-data-jdbc)
- [@article@Spring Data JDBC - Reference Documentation](https://docs.spring.io/spring-data/jdbc/docs/current/reference/html/)
- [@article@Introduction to Spring Data JDBC](https://www.baeldung.com/spring-data-jdbc-intro)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@Introduction to Spring Data JDBC](https://www.baeldung.com/spring-data-jdbc-intro)
@@ -5,5 +5,4 @@ Spring Data JPA is a library that makes it easy to implement Java Persistence AP
Visit the following resources to learn more:
- [@official@Spring Data JPA](https://spring.io/projects/spring-data-jpa)
- [@article@Introduction to Spring Data JPA](https://www.baeldung.com/the-persistence-layer-with-spring-data-jpa)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@Introduction to Spring Data JPA](https://www.baeldung.com/the-persistence-layer-with-spring-data-jpa)
@@ -1,12 +1,10 @@
# Spring Data Mongodb
Spring Data for MongoDB is part of the umbrella Spring Data project which aims to provide a familiar and consistent Spring-based programming model for new datastores while retaining store-specific features and capabilities
The Spring Data MongoDB project provides integration with the MongoDB document database. Key functional areas of Spring Data MongoDB are a POJO centric model for interacting with a MongoDB DBCollection and easily writing a Repository style data access layer.
Spring Data MongoDB is a module that provides an abstraction for working with MongoDB, a document-oriented NoSQL database, using the same repository pattern as other Spring Data modules. It maps Java objects to MongoDB documents and lets developers query data using repository method names or the `MongoTemplate` class for more complex operations. Applications use it to store and retrieve flexible, schema-less data without writing raw MongoDB driver code.
Visit the following resources to learn more:
- [@roadmap@Visit the Dedicated MongoDB Roadmap](https://roadmap.sh/mongodb)
- [@official@Spring Data MongoDB](https://spring.io/projects/spring-data-mongodb)
- [@official@Spring Boot Integration with MongoDB Tutorial](https://www.mongodb.com/compatibility/spring-boot)
- [@article@Introduction to Spring Data MongoDB](https://www.baeldung.com/spring-data-mongodb-tutorial)
- [@feed@Explore top posts about MongoDB](https://app.daily.dev/tags/mongodb?ref=roadmapsh)
- [@article@Introduction to Spring Data MongoDB](https://www.baeldung.com/spring-data-mongodb-tutorial)
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@official@Spring Data](https://spring.io/projects/spring-data)
- [@article@Spring Data One API To Rule Them All?](https://www.infoq.com/articles/spring-data-intro/)
- [@article@What is JPA, Spring Data and Spring Data JPA](https://www.amitph.com/jpa-and-spring-data-jpa/)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@What is JPA, Spring Data and Spring Data JPA](https://www.amitph.com/jpa-and-spring-data-jpa/)
@@ -1,11 +1,8 @@
# Spring IOC
Inversion of Control (IoC) is a design pattern that is often used in conjunction with the Dependency Injection (DI) pattern. The basic idea behind IoC is to invert the flow of control in a program, so that instead of the program controlling the flow of logic and the creation of objects, the objects themselves control the flow of logic and the creation of other objects.
Spring is a popular Java framework that uses IoC and DI to provide a more flexible, modular approach to software development. The Spring IoC container is responsible for managing the creation and configuration of objects in a Spring-based application.
Spring IOC (Inversion of Control) is the principle behind Spring's container, where the framework, not the application code, controls the creation and lifecycle of objects. The container reads configuration metadata, whether from annotations or XML, to know which beans to create and how to connect them. This approach lets developers focus on business logic while Spring handles object instantiation and wiring.
Visit the following resources to learn more:
- [@article@Spring IoC, Spring Bean Example Tutorial](https://www.digitalocean.com/community/tutorials/spring-ioc-bean-example-tutorial)
- [@article@Intro to Inversion of Control with Spring](https://www.baeldung.com/inversion-control-and-dependency-injection-in-spring)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@Intro to Inversion of Control with Spring](https://www.baeldung.com/inversion-control-and-dependency-injection-in-spring)
@@ -1,11 +1,8 @@
# Spring MVC
Spring MVC is a framework for building web applications in Java. It is part of the Spring Framework, which is a larger ecosystem of tools for building Java applications. Spring MVC is built on the Model-View-Controller (MVC) design pattern, which helps to separate the concerns of the application into three distinct components: the Model, the View, and the Controller.
Spring MVC provides a powerful and flexible way to build web applications, and it integrates well with other parts of the Spring ecosystem, such as Spring Security for authentication and authorization, and Spring Data for data access.
Spring MVC is a web framework within Spring that follows the Model-View-Controller pattern to build web applications and REST APIs. A central component called `DispatcherServlet` receives incoming requests and routes them to the appropriate controller, which processes the request and returns a model and view or a JSON response. It handles common web concerns such as URL mapping, form binding, and validation, so developers can focus on writing controller and business logic.
Visit the following resources to learn more:
- [@official@Web MVC framework](https://docs.spring.io/spring-framework/docs/3.2.x/spring-framework-reference/html/mvc.html)
- [@article@Spring - MVC Framework](https://www.tutorialspoint.com/spring/spring_web_mvc_framework.htm)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@Spring - MVC Framework](https://www.tutorialspoint.com/spring/spring_web_mvc_framework.htm)
@@ -1,11 +1,8 @@
# Spring MVC
Spring MVC is a web application framework that is part of the Spring Framework. It is designed to make it easy to build web applications using the Model-View-Controller (MVC) design pattern.
In Spring MVC, the application is divided into three main components: the Model, the View, and the Controller. The Model represents the data and the business logic of the application, the View is responsible for generating the HTML that is sent to the client's web browser, and the Controller acts as an intermediary between the Model and the View, handling incoming HTTP requests and generating the appropriate response.
Spring MVC is a web framework built on the Servlet API that implements the Model-View-Controller design pattern to help developers build flexible and loosely coupled web applications. It provides a structured way to handle HTTP requests by using a central DispatcherServlet that routes incoming traffic to appropriate handler methods, which then process data and return a response, such as a rendered HTML view or raw JSON data.
Visit the following resources to learn more:
- [@article@Spring - MVC Framework](https://www.tutorialspoint.com/spring/spring_web_mvc_framework.htm)
- [@article@Spring MVC Tutorial Everything You Need To Know](https://www.edureka.co/blog/spring-mvc-tutorial/)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@Spring MVC Tutorial Everything You Need To Know](https://www.edureka.co/blog/spring-mvc-tutorial/)
@@ -5,6 +5,4 @@ Spring Security is a framework for securing Java-based applications. It is a pow
Visit the following resources to learn more:
- [@official@Spring Security](https://spring.io/projects/spring-security)
- [@article@What is Spring security](https://www.javadevjournal.com/spring/what-is-spring-security/)
- [@article@Spring Security: Authentication and Authorization In-Depth](https://www.marcobehler.com/guides/spring-security)
- [@feed@Explore top posts about Security](https://app.daily.dev/tags/security?ref=roadmapsh)
- [@article@Spring Security: Authentication and Authorization In-Depth](https://www.marcobehler.com/guides/spring-security)
@@ -6,5 +6,4 @@ Visit the following resources to learn more:
- [@official@Annotation Interface SpringBootTest](https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/test/context/SpringBootTest.html)
- [@article@Testing with Spring Boot and @SpringBootTest](https://reflectoring.io/spring-boot-test/)
- [@article@Testing in Spring Boot](https://www.baeldung.com/spring-boot-testing)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@Testing in Spring Boot](https://www.baeldung.com/spring-boot-testing)
@@ -1,6 +1,6 @@
# Terminology
Spring Core, the base of the Spring Framework, provides a model for configuring Java applications. Key concepts include **Beans** (Java objects managed by Spring), **Inversion of Control (IoC)** (Spring managing bean lifecycles and dependencies), and **Dependency Injection (DI)** (Spring providing bean dependencies). The **Spring container** (specifically an **ApplicationContext**) creates and manages these beans. Spring also offers **Aspect-Oriented Programming (AOP)** for handling cross-cutting concerns, an **event model** for decoupled communication using **ApplicationEvent** and **listeners**, abstractions for **Data Access** and **Transactions**, and utilities for **Task Execution and Scheduling**.
Spring Boot terminology includes core concepts such as beans, application context, dependency injection, and auto-configuration. A bean is an object managed by the Spring container, while the application context is the environment that holds and wires these beans together. These terms appear throughout Spring documentation and describe how the framework organizes and manages application components.
Visit the following resources to learn more:
@@ -4,6 +4,4 @@ Spring provides a set of testing utilities that make it easy to test the various
Visit the following resources to learn more:
- [@article@What Is Spring Testing?](https://www.developer.com/design/what-is-spring-testing/)
- [@article@Complete Guide To Spring Testing](https://www.lambdatest.com/blog/spring-testing/)
- [@feed@Explore top posts about Testing](https://app.daily.dev/tags/testing?ref=roadmapsh)
- [@article@Complete Guide To Spring Testing](https://www.lambdatest.com/blog/spring-testing/)
@@ -1,10 +1,8 @@
# Transactions
A transaction simply represents a unit of work. In such case, if one step fails, the whole transaction fails (which is termed as atomicity). A transaction can be described by ACID properties (Atomicity, Consistency, Isolation and Durability).
In hibernate framework, we have Transaction interface that defines the unit of work. It maintains abstraction from the transaction implementation (JTA,JDBC).
A transaction is a group of database operations that are executed as a single unit, so that either all of them succeed or none of them take effect. Spring manages transactions declaratively through the `@Transactional` annotation, which wraps a method in a transaction and rolls back changes if an exception occurs. This keeps data consistent even when multiple related operations, like debiting one account and crediting another, need to happen together.
Visit the following resources to learn more:
- [@official@Hibernate Transactions](https://docs.hibernate.org/orm/current/userguide/html_single/#transactions)
- [@article@Hibernate Transaction Management](https://www.javaguides.net/2018/12/hibernate-transaction-management-tutorial.html)
- [@article@Hibernate Transaction Management](https://www.javaguides.net/2018/12/hibernate-transaction-management-tutorial.html)
@@ -1,19 +1,10 @@
# Why Spring
Spring Boot provides a number of features that make it easier to create a Spring-based application, including:
* Embedded Application Server
* Automatic Configuration
* Pre-configured Starters
* Ease of Packaging and Distribution
* Ease of monitoring through built-in health check endpoint and the ability to customize the management endpoint.
Additionally, it's come with a lot of best practices and conventions baked in, which reduces the amount of work and boiler plate code developers need to write.
Spring reduces the complexity of building Java applications by handling object creation, dependency wiring, and configuration through its container. It offers a consistent programming model across web, data access, security, and messaging, so teams do not need to combine unrelated libraries by hand. Companies use it because it scales from small services to large enterprise systems while keeping code testable and loosely coupled.
Visit the following resources to learn more:
- [@official@Why Spring?](https://spring.io/why-spring)
- [@article@Spring vs Spring Boot: Know The Difference](https://www.interviewbit.com/blog/spring-vs-spring-boot)
- [@article@A Comparison Between Spring and Spring Boot](https://www.baeldung.com/spring-vs-spring-boot)
- [@article@Advantages of Spring Boot](https://www.adservio.fr/post/advantages-of-spring-boot)
- [@feed@Explore top posts about Spring Framework](https://app.daily.dev/tags/spring?ref=roadmapsh)
- [@article@Advantages of Spring Boot](https://www.adservio.fr/post/advantages-of-spring-boot)