자바 또는 코틀린 기반의 웹 어플리케이션 프레임워크인 Spring (스프링) 은 어떻게 탄생되었을까? 한번 알아보자.
2000년대 초반..
스프링 프레임워크가 탄생하기 이전 2000년대 초반에는 EJB (Enterprise Java Bean) 이라는 자바 진영의 표준 기술을 활용해 웹 어플리케이션을 개발했다. EJB 는 트랜잭션, 분산기술, ORM 등 많은 기술을 지원하였고 여러 기업(특히 금융권)에서 많이 사용했다고 한다.
한국에서도 꽤나 사용을 했던 모양이고, 스프링이 막 생겨날 무렵에도 튼튼한 입지를 보여줬나보다.
스프링의 탄생
EJB 를 대신하기 위해 개발자들은 좀 더 사용하기 쉽고 EJB 의 단점을 개선한 오픈소스를 개발하기 시작했고, SI 개발자 Rod Johnson (로드 존슨) 이 2002년에 Expert One-on-One J2EE Design and Development 책을 출간했다. 이 책에서는 EJB 의 문제점을 지적했고 이를 해결하기 위해 (오늘날 스프링의 기반이 되는) 코드들을 소개했다. 핵심 개념들로는 BeanFactory, ApplicationContext, DI, IoC, POJO 등 스프링의 핵심이 되는 개념도 함께 소개되었다.
스프링 역사
"스프링" 이라는 단어의 의미는 사용하기 어려운 추운 겨울의 EJB 가 사라지고 드디어 사용하기 편리한 스프링이 온다는 의미에서 정해졌습니다. 2004년에 1.0 버전이 릴리즈 되었고 현재까지 6.0 버전이 릴리즈 되어 사용되고 있습니다.
스프링 1.0
2004년에 출시되었으며 스프링의 기본 기능이 구현되었습니다. IoC (Inversion of Control), IoC 컨테이너, AOP (Aspect Oriented Programming), XML 기반의 빈 (Bean) 정의를 할 수 있으며 트랜잭션도 관리할 수 있습니다.
스프링 2.0
2006년에 출시되었으며 스프링 관련 프로젝트 (스프링 시큐리티, 스프링 웹 플로우, 스프링 배치 등) 가 시작되었습니다. 또한 어노테이션 기반의 의존성 주입이 추가되었습니다.
스프링 3.0
2009년에 출시되었으며 기존 기능이 많이 개선되었습니다. Bean validation, JPA 2.0 등이 개선되었고 Spring MVC 가 개선되면서 RESTful 프레임워크로 사용이 가능해졌습니다.
스프링 4.0
2013년에 출시되었으며 자바 8 이 지원되기 시작했습니다.
스프링 5.0
2017년에 출시되었으며 Reactive 프로그래밍과 코틀린이 지원되기 시작했습니다.
스프링 6.0
2022년 하반기에 출시되었으며 최소 자바 버전을 8에서 17로 상향했습니다.
참고 자료
https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6
'스프링' 카테고리의 다른 글
[스프링] JUnit5, AssertJ, Mockito 기반 테스트 환경 구축하기 (0) | 2023.02.06 |
---|---|
[스프링] 스프링에서 관리하는 자바 객체, 빈 (Bean) (0) | 2023.02.03 |
[스프링] 프로그래밍 방식의 트랜잭션 관리 방법 (0) | 2023.02.03 |
[스프링] 트랜잭션과 스프링의 @Transactional (0) | 2023.02.02 |
[스프링] @NotEmpty, @NotBlank, @NotNull 비교하기 (0) | 2023.02.02 |
댓글