Spring Framework
[OKKY] 자바EE의 역사 및 스프링과의 관계
[Oracle ] Java EE Platform Specification
- 서버 개발에 필요한 기능을 모아서
J2EE
(당시엔 자바EE를 그렇게 불렀습니다)라는표준
을 만들고,
- 스프링 프레임워크는 자바 EE 애플리케이션(Java Enterprise Edition applications)을 만들기 위한 ‘사실상’의 표준임. 스프링 프레임워크는 초기에 경쟁하던 EJB(Enterprise JavaBeans)와 비교하면 가벼움
- 스프링 프레임워크가 어떻게 만들어졌는지 알아보면, 2002년도 Rod Johnson이 발행한 Expert One-to-One : J2EE Design and Development으로 거슬러 올라감
- 이 책의 시작이 Why “J2EE Without EJB” ?
- 책 출판 이후에 Juergen Hoeller 가 오픈소스화 시키자고 하면서 실제로 스프링이란 이름을 쓰자고 했고 2003년 6월에 스프링 0.9가 나오게 됨
- J2EE(Spring Framework의 근원) → Spring
그러고 나서..
- 2004년 3월에 첫 1.0 릴리즈
- 2006년에 단순화된 XML 기반의 Configuration 기능과 함께 Spring 2.0이 릴리즈
- 전체 릴리즈에 대한 소식은 https://spring.io/blog/category/releases
Spring Projects
Spring은 여러 프로젝트로 구성되어 있는 자바 기반의 프로그래밍에 있어서 방대한 기능을 제공하는 Framework라고 볼 수 있음

- 실제로 스프링 프레임워크를 이용해서 웹 어플리케이션을 개발할 떄에는 스프링 프레임워크 단독으로 사용하기 보다는 여러 스프링 관련 프로젝트를 함께 사용함. VMware는 스프링 프레임워크 뿐 아니라 애플리케이션 개발에 필요한 다양한 프로젝트를 진행하고 있음
- 자주 사용 되는 프로젝트
- Spring Boot
- Spring Data
- Spring Security
- Spring Cloud
2019년 12월 VMware는 Pivotal 인수 했음. 그래서 현재는 VMware에서 Spring 프로젝트들을 관리함
Spring Boot
- 스프링 부트는 컴퓨터를 부팅한다는 말처럼 시스템을 사용 가능한 상태로 만드는 것을 의미함. 그래서 스프링 부트를 표현하는 아이콘도 컴퓨터의 전원 버튼 모양임. 스프링부트는 위의 여러 프로젝트 중 하나의 프로젝트로서 다음과 같은 주요 기능을 제공함
- SpringApplication을 통한 손쉬운 실행
- Auto Configuration
- 쉬운 외부 환경 설정 - Properties, YAML, Command line 설정 등
- 프로파일을 통한 실행환경 관리
- Packaging Executable Jar
- Developer Tools