Spring, EJB의 겨울을 깨고 등장한 프레임워크

지인호·2021년 5월 12일
2

SpringFramework

목록 보기
1/2
post-thumbnail

💳다들 금융서비스 써보셧나요?

토스는 여러 은행의 금융서비스를 통합해, 사용자에게 편의를 제공하는 서비스인데요
최근 토스에서 Slash 21 이라는 온라인 개발자 컨퍼런스를 진행하였습니다.
여러 좋은 내용이있었지만, 제게 가장 인상적이었던것은 바로 토스의 여러 서비스들이 Spring Framework 를 사용한다는 것이었습니다.

❗토스 뿐만이 아닙니다!

토스 뿐 아니라, 배달의민족여러 공기업 에서도 Spring Framework 를 사용하는데요,
저는 오늘 이러한 Spring 이 나온 계기부터, 스프링의 특징과 장단점까지 스프링에 대한 배경지식을 전달해드리고자합니다.

🌱Do you know Spring?

그래서 스프링이 뭘까요
스프링은 자바 엔터프라이즈 개발을 위한 오픈소스 어플리케이션 프레임 워크 입니다.

프레임워크 (Framework)
소프트웨어 프레임워크는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조
오픈소스 (OpenSource)
어떤 소프트웨어 프로그램을 개발하는 과정에 필요한 소스 코드나 설계도를 누구나 접근해서 열람할 수 있도록 공개하는 것

쉽게 말하자면, 자바계열에서 서버측 개발을 위해 나온 오픈소스 프레임워크 란겁니다.
자바로 서버사이드 개발을 할수 있다니 얼마나 매력적인가요?


사실, 스프링이 나오기 전에도 EJB나 JavaEE 같은 여러 엔터프라이즈 프레임워크들이 있었는데요 (심지어 JavaEE 는 자바를 처음 만든 선 마이크로 시스템즈에서 만들었답니다)
그럼에서 스프링은 자바의 대표 엔터프라이즈 프레임워크에 자리하고있습니다. 왜일까요?

👶스프링이 나온 이유

지금으로부터 약 20년전, 그러니까 2000년대만해도 자바 엔터프라이즈 개발은 EJB 나 JavaEE 를 통해 하였습니다. 하지만, EJB 나 JavaEE 에겐 여러 치명적인 문제들이 존재했었죠.

1. 어려운 단위테스트
2. 필요없는 코드의 증가
3. 예외처리의 어려움
4. 불편한 배포

이러한 문제들로 개발자들이 골머리를 싸맬때, 따스한 처럼 등장한 프레임워크가 바로 "스프링 프레임워크" 였습니다.

😃스프링의 장단점

지금까지 EJB 나 Java EE 를 사용하던 사람들이, 바로 Spring 으로 갈아탄 이유는 스프링이 이 문제들을 해결해줄 뿐 아니라 "기술 트렌드 또한 잘 반영하였기 때문" 입니다.

DI 라는 개념을 도입해, 테스트를 단순화시키고,
다양한 기능을 미리 지원해 개발자가 비즈니스로직에 집중하게하며 필요없는 코드들을 줄이고,
AOP 를 도입해 중앙집중식 예외처리를 수행하고,
모듈방식의 굉장히 OOP스러운 개념을 도입하여 아키텍쳐를 유연하게 만들었습니다.

심지어 공식 Enterprise 프레임워크였던 Java EE 보다 개발트렌드를 빠르게 반영하기도 하였죠 ^^

📌글을 마치며...

💧 스프링은 당시 개발자들에게, 겨울의 끝을 말해주는 따스한 봄비와도 같았습니다

오늘은 스프링이 나온 배경과, 스프링의 장단점 즉, 스프링의 배경지식들을 소개하였습니다.

Java EE 에서 EJB로, EJB 에서 Spring으로, 그리고 Spring 에서 Spring Boot로
개발 트렌드는 항상 변화하고, 이에 따른 기술 또한 끊임없이 발전해나가고 있습니다.
스프링 또한 마찬가지이죠.

기술트렌드를 잘 반영하고, 편리하기까지한 스프링 프레임워크
이 글을 보고있는 여러분들도 써보시지 않을래요??

profile
테오의 스프린트 17기 퍼실리테이터

2개의 댓글

comment-user-thumbnail
2021년 5월 12일

그저 스프링만 알고있었는데 스프링이 나오게 된 배경까지 알아가네요 유익합니다. ^^

1개의 답글