Skip to main content
Advertisement

1.1 Spring Framework Overview

Learn about the fundamental concepts and background of Spring, the standard framework for developing Java-based enterprise-level applications.

Version Baseline

1. What is a Framework?

In programming, a framework is a "standardized structure or template designed to solve software problems." Unlike simply using a library, a framework determines the overall structure and flow of the application, allowing the developer to focus on business logic within that mold.

  • Library: The developer directly calls code and retains the "Inversion of Control" (Control).
  • Framework: The framework calls the developer's code and takes the lead (** Inversion of Control, IoC**).

2. What is the Spring Framework?

The Spring Framework started with a book published by Rod Johnson in 2003. It emerged as a lightweight framework to solve the complexity and heaviness of the Java Enterprise technologies (EJB) of that time.

Origin of the Name

The name contains the hopeful meaning that a 'Spring' has finally arrived for Java developers after the 'Winter' of EJB.

3. Key Features (Why Spring?)

1) Lightweight

It allows the development of enterprise services using only "Plain Old Java Objects" (POJO) without the need for complex, heavy server environments.

2) Inversion of Control (IoC) & Dependency Injection (DI)

The responsibility for creating and managing objects lies with the Spring Container, not the developer. This lowers coupling between objects and enables flexible design.

3) Aspect-Oriented Programming (AOP)

Cross-cutting concerns that appear repeatedly outside of core logic, such as logging or transaction processing, can be managed separately.

4) POJO (Plain Old Java Object) Approach

Since code can be written using pure Java objects that are not dependent on specific frameworks or interfaces, testing and maintenance are much easier.


note

Spring is more than just a set of technical tools; it is like a design guide that helps developers adhere to the principles of Object-Oriented Programming (SOLID).

Advertisement