본문 바로가기

WEB

[Spring] Spring 이란?

Spring 이란?


JAVA 기술들을 더 쉽게 사용할 수 있게 해주는 오픈소스 프레임 워크이다.

 

 

스프링을 알기 위해서는 프레임워크에 대해서 이해해야한다.

 

프레임워크란,


뼈대나 근간을 이루는 코드들의 묶음이라고 할 수 있다.

 

개발자들은 사람마다 능력 차이가 존재한다. 협업을 할 때 능력 차이가 많이 나는 상황을 극복하기 위해서 프레임워크를 사용한다. 프레임워크를 이용한다는 의미는 프로그램의 기본 흐름이나 구조를 정하고 모든 팀원이 이 구조에 자신의 코드를 추가하는 방식으로 개발한다는 것이다. 

 

프레임워크를 사용하면 개발에 필요한 구조를 이미 코드로 만들어 놓았기 때문에 실력이 부족한 개발자라 하더라도 반쯤 완성한 상태에서 필요한 부분을 조랍하는 형태의 개발이 가능하다는 점이다. 그렇기 때문에 일정한 품질이 보장되고 개발시간을 단축 할 수 있다.

 

 

 

다른 프레임워크와 스프링의 차이점을 알아보자.

 

1. 복잡함에 반기를 들어서 만들어진 프레임워크

엔터프라이즈급 프레임워크들의 가장 큰 문제점은 복잡성이다. 이것을 해결하기 위해서 나온 경량화된 프레임 워크가 스프링이다. 

 

2. 프로젝트의 전체 구조를 설계할 때 유용한 프레임워크

다른 프레임워크들은 전문적인 영역(ex. 웹/DB 영역)에 대해서만 지원하는 경우가 많았고, 비즈니스 로직을 처리하는 부분은 개발자의 역량에 맡겼다. 반면에 스프링은 어느 한 분야에 집중하지 않고, 전체를 설계하는 용도로 많이 사용될 수 있었다.

 

3. 다른 프레임워크들의 포용

스프링은 전체 구조에 집중했기 때문에 특정한 영역의 프레임워크와 공존하는 방식으로 사용할 수 있다.

 

4. 개발 생산성과 개발도구의 지원

XML설정 등을 이용하여 유지보수를 편하게 하고 STS, Eclipse 등의 플러그인을 지원해준다.

 

 

 

스프링의 주요 특징

 

  1. POJO 기반의 구성
  2. 의존성 주입(DI)을 통한 객체 간의 관계 구성
  3. AOP 지원
  4. WAS의 종속적이지 않은 개발 환경

 

 

출처 - [남가람북스] 코드로 배우는 스프링 웹 프로젝트