Spring의 버전 별 특징
- 2003년 Spring Framework 1.0 출시 - XML
- 2006년 Spring Framework 2.0 출시 - XML 편의 기능 지원
- 2009년 Spring Framework 3.0 출시 - Java Config 설정 지원
- 2013년 Spring Framework 4.0 출시 - Java 8 지원
- 2014년 Spring Boot 1.0 출시
- 2017년 Spring Framework 5.0, Spring Boot 2.0 출시 - Reactive Programming 지원
- 2021년 12월 현재 Spring Framework 5.3.13(LTS), Spring Boot 2.6.1
Environments of Spring
- Spring Framework 는 아래와 같은 구성으로 이루어져 있다
- Spring Framework
- 핵심 기술 : Spring DI Container(이게 Spring 의 진짜 핵심이다), AOP, Event 등
- 웹 기술 : Spring MVC, WebFlux
- 데이터 접근 기술 : Transaction, JDBC, ORM, XML
- 기술 통합 : 캐시, 이메일, 원격접근, 스케줄링(Quartz)
- 테스트 : Spring 기반 테스트 지원
- 언어 : Java, Kotlin, Groovy
- Spring Boot : Spring Framework 의 추상화
- Spring Data
- Spring Session
- Spring Security
- Spring Rest Docs
- Spring Batch
- Spring Cloud
- Spring Framework
Spring 의 의미? 공식 홈페이지에서도 문맥에 따라 의미가 다르다고 언급했다.
- Spring DI Container (Bean LifeCycle Management)
- Spring Framework
- Spring Framework & Boot 를 포함한 모든 Spring Environments
Spring 의 진짜 핵심
- Spring 은 Java 언어 기반의 프레임워크
- Java 언어의 가장 큰 특징 - 객체 지향 언어
- Spring 은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크
Spring 과 Boot 는 다르지 않다
- Spring Boot 는 Spring Framework 를 간편하게 구축하고 운영하기 위해 구성 및 설정영역, 그리고 많은 라이브러리의 사용을 추상화해 주는 역할을 한다
- 결국 한꺼풀 벗겨놓고 보면 Spring Framework 라는 뜻이다.
- 최근에는 Boot를 기본으로 사용한다.
- Embed Tomcat, Starter Dependency, 3rd Party 자동 구성, 관례에 의한 간결한 설정 등을 제공한다.
참고
- https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8
- https://spring.io