알버트의 개발하는 블로그

[Spring] 스프링(Spring) 이란? 본문

웹개발/Spring

[Spring] 스프링(Spring) 이란?

알버트 2022. 1. 28. 14:02

1.스프링이란?
IoC와 AOP를 지원하여 자바 엔터프라이즈 개발을 편하게 해주는 경량의 오픈 소스 애플리케이션 프레임워크

2.애플리케이션 프레임워크란?
소프트웨어 개발자가 응용 소프트웨어의 표준 구조를 구현하기 위해 사용하는 소프트웨어 프레임워크로 구성되어 있다. 즉, 프로그래밍에서 특정 OS를 위한 응용 프로그램 표준 구조를 구현하는 클래스와 라이브러리의 모임을 말한다.

3.프레임워크의 장/단점
장점 : 개발 시간을 줄일 수 있고 오류로부터 자유로울 수 있다.
단점 : 프레임워크에 너무 의존하면 개발 능력이 떨어져서 프레임워크 없이 개발하는 것이 힘들어진다.

4.스프링의 특징
- IoC ( Inversion of Control ) : 제어의 역행
제어의 주체가 개발자가 아닌 프레임워크라는 뜻으로 때에 따라 프레임워크가 작성된 코드를 호출하는 기술이다.
객체의 생명주기의 관리까지 모든 객체에 대한 제어권을 프레임워크가 가진다.

- DI ( Dependency Injection ) : 의존 주입
의존성 객체를 개발자가 생성하지 않고 클래스를 Bean으로 등록해놓으면 Bean으로 등록된 객체를 프레임워크가 찾아서 알아서 주입해주는 기술 => 모듈간의 결합도를 낮춰 준다.

- AOP ( Aspect Oriented Programming )
각 코드마다 공통으로 쓰이는 부분을 분리하여 모듈화하는 프로그래밍 기법.

 

스프링은 웹개발에 있어서 정말 많이 쓰이는 프레임워크이므로 스프링의 특징과 장단점을 알아두는 것이 중요하다고 볼 수 있다.