Building a minimal spring framework from scratch.

Abhishek koserwal
5 min readMar 6, 2024

An Experiment to Learn Spring Framework Internals

This blog post will explore implementing a lightweight version of the Spring Boot framework from scratch. A minimal implementation of the spring framework where we can focus on the core concepts:

  • Inversion of Control (IoC): Instead of objects creating and managing their dependencies themselves, the dependencies are provided to them by an external entity, typically a framework or container.
  • Dependency Injection (DI): Spring Boot utilizes DI to manage dependencies between components.
  • Component Scanning through Annotations: Annotations like @Component and @Autowired help in component scanning and dependency injection.
  • Request Handling: Spring Boot simplifies request handling through annotations like “@RequestMapping.”

Code Repository

Using Java 11

We must replicate these core functionalities using simple Java code to create our lightweight Spring Boot:

  1. Custom Annotations: We define annotations like @Component and @Autowired to mark classes as components and inject dependencies.

--

--

Abhishek koserwal

#redhatter #opensource #developer #kubernetes #keycloak #golang #openshift #quarkus #spring