🌱
Basics

Spring Framework Kya Hai?

Introduction
💡 Plain Java se enterprise application banaना ek khaali plot par khud factory banana hai — sab kuch manually (object creation, wiring, transaction handling). Spring ek ready-made factory infrastructure hai — power, plumbing, safety systems sab already laga hua, tumhe bas apni production line (business logic) daalni hai.

Spring ek COMPREHENSIVE framework hai enterprise Java applications banane ke liye — dependency injection, transaction management, data access, web MVC, security, sab ek chhaте ke neeche. 2003 mein Rod Johnson ne banaya, EJB (Enterprise JavaBeans) ke complexity se frustrated hoke — Spring ka goal tha "plain old Java objects" (POJOs) se enterprise features milna, bina heavyweight boilerplate ke.

Spring ka core idea hai INVERSION OF CONTROL (IoC) — objects khud apni dependencies create NAHI karte, Spring container unhe CREATE karke INJECT karta hai. Isse code loosely-coupled, testable, aur maintainable banता hai. Spring ka ecosystem bahut bada hai — Spring Core, Spring MVC, Spring Data, Spring Security, Spring Boot, Spring Cloud — har ek specific problem solve karta hai.

// Bina Spring ke — manual object creation, tight coupling:
public class OrderService {
    private PaymentGateway gateway = new StripeGateway();  // hardcoded!
}

// Spring ke saath — dependency injected:
@Service
public class OrderService {
    private final PaymentGateway gateway;

    public OrderService(PaymentGateway gateway) {   // Spring inject karta hai
        this.gateway = gateway;
    }
}
🌱
Plain Java se enterprise application banaना ek khaali plot par khud factory banana hai — sab kuch manually (object creation, wiring, transaction handling). Spring ek ready-made factory infrastructure hai — power, plumbing, safety systems sab already laga hua, tumhe bas apni production line (business logic) daalni hai.
1 / 6
⚡ Quick Recap
  • Enterprise Java applications ke liye comprehensive framework
  • Core idea: Inversion of Control (IoC) + Dependency Injection
  • Bada ecosystem — Core, MVC, Data, Security, Boot, Cloud
On this page (2 subtopics)

2002-2003 mein, Rod Johnson ne apni book "Expert One-on-One J2EE Design and Development" mein Spring ke seeds plant kiye — EJB (Enterprise JavaBeans) ke HEAVYWEIGHT, complex approach se frustrated hoke, ek SIMPLER alternative propose kiya jo POJOs (Plain Old Java Objects) use karके enterprise features deta ho.

💡Tip: "Spring" naam is wajah se rakha gaya kyunki ye J2EE (jise "winter" jaisa complex maana jaata tha) ke baad ek FRESH START, NAYI SHURUAT represent karta tha.

EJB ke liye application server (jaise WebLogic) ki zaroorat padти thi, verbose XML deployment descriptors, aur unit testing MUSHKIL thi (container ke bina test hi nahi ho sakti thi). Spring plain Tomcat par chal sakta tha, annotations/Java config use karta tha, aur POJOs hone ki wajah se UNIT TESTING bahut aasan thi.

  • EJB = heavyweight container, complex deployment
  • Spring = lightweight, POJO-based, testable
  • Spring ne industry standard बन gaya 2010s tak