스프링 프레임워크에 대해 알아보기 전에 프레임워크에 대해 가볍게 짚고 가겠습니다

프레임워크(Framework)


 

프레임워크란, 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것
- 랄프 존슨(Ralph Johnson) -

흔히 뼈대라고도 불립니다.

원하는 기능 구현에만 집중하여 빠르게 개발 할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것으로 라이브러리 또한 포함하고 있습니다

하지만 프레임워크만으로는 실행되지 않으며 기능 추가를 해야 되고 프레임워크에 의존하여 개발해야 되며 프레임워크가 정의한 규칙을 준수해야 합니다.

프레임워크 VS 라이브러리


프레임워크와 라이브러리는 프로그램 개발에서 편의성을 제공한다는 공통점이 있습니다 간단하게 차이점을 알아보기 위해 자동차를 비유로 들어보면 

프레임워크는 자동차의 프레임 (뼈대) 역할
라이브러리는 자동차의 바퀴, 헤드라이트 등등 (기능) 역할

 

 

스프링(Spring)이란?


스프링의 간략한 역사

2000년대 초반부터 시작된 엔터프라이즈급의 개발은 안정된 품질의 개발이 절실했고, 그 결과 많은 프레임워크의 전성시대라고 할 수 있었습니다. 스프링은 비교적 그 시작이 조금 늦은 프로젝트였지만 가장 성공적인 경량 프레임워크입니다.

 

*경량 프레임워크란
경량 프레임워크라는 용어는 90년대 말에 복잡한 구동 환경과 하드웨어적인 구성이 필요한 프레임워크의 반대되는 개념으로 등장했습니다. 과거 J2EE 기술은 너무나 복잡하고 방대했기 때문에. 그 전체를 이해하고 개발하기에는 어려운 점이 많아서, 특정 기능을 위주로 간단한 jar 파일 등을 이용해서 모든 개발이 가능하도록 구성된 프레임워크입니다.

 

차별화된 스프링

  • 복잡함에 반기를 들어서 만들어진 프레임워크
  • 프로젝트의 전체구조를 설계할 때 유용한 프레임워크
  • 다른 프레임워크들의 포용
  • 개발 생산성과 개발도구의 지원

 

스프링의 주요 특징

  • POJO 기반의 구성
  • 의존성 주입(DI)을 통한 객체 간의 관계 구성
  • AOP(Aspect-Oriented-Programming) 지원
  • 편리한 MVC 구조
  • WAS의 중속적이지 않은 개발 환경

 

참고했습니다


 

 

'Spring' 카테고리의 다른 글

[Spring] MyBatis  (0) 2022.08.25
[Spring] 개발 환경 구축  (0) 2022.08.24

+ Recent posts