스프링 프레임워크 : 개요

스프링 프레임워크

  • Spring Framework

  • 자바 기반 오픈소스 경량급(lightweight) [1] 애플리케이션 프레임워크

  • 의존성 주입, 트랜잭션 관리, 웹 애플리케이션, 데이터 접근, 메시징, 테스팅 등을 위한 핵심 지원

참고

가장 좋은 정보는 소스코드와 레퍼런스이므로, 아래를 반드시 참고해야 함.

마이그레이션 및 과거의 레퍼런스 관련해서는 아래를 참고해야 함.

소개

  • 스프링 프레임워크는 현대적인(modern) 자바 기반 엔터프라이즈 애플리케이션 모델을 위한 포괄적인 프로그래밍 및 설정을 (배포 플랫폼의 종류에 따라) 지원함.
  • 스프링의 핵심 요소는 애플리케이션 수준에서의 인프라 지원임.
  • 스프링은 팀이 특정 배포 환경에 불필요한 관계를 가지지 않고, 애플리케이션 수준의 비즈니스 로직에 집중할 수 있도록 엔터프라이즈 애플리케이션의 플러밍(plumbing)에 초점을 맞추고 있음.

특징

  • 의존성 주입(DI, Dependency Injection)
  • 스프링의 선언적 트랜잭션 관리를 포함한 관점 지향 프로그래밍(AOP, Aspect-Oriented Programming) 지원
  • 스프링 MVC 웹 애플리케이션 및 RESTful 웹 서비스 프레임워크
  • JDBC, JPA, JMS를 위한 기본적인 지원
  • 그 외...

최소 요구사항

  • 스프링 4.x 이상 : JDK 6+
  • 스프링 3.x 이상 : JDK 5+

 


[1] ^ 스프링 자체가 가볍다거나 작은 규모의 코드로 이루어졌다는 것이 아님. 과거 EJB와 같은 기술이 개발환경, 서버환경, 개발/빌드/테스트 과정 등에 대한 필요한 요구사항이 많았고, 이를 무겁다라고 표현함. 스프링의 경우 상대적으로 적은 요구사항이 필요하기 때문에 이를 가볍다라고 표현함.