결국 스프링이 원하는 방향에 대해 생각해 보자.
지금까지 느낀 스프링은 OOP를 제대로 적용하기 위해, IOC/DI 기술을 활용한 프레임워크라고 느껴진다.
스프링의 정의는 이렇다고 한다.
"자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크"
이거에 대해서 생각해 보면
- 애플리케이션 프레임워크
 
스프링은 어느 분야에만 사용되는 프레임워크가 아니다.
MVC, Log, AOP, 인증, ORM 등등 웹 개발에 필요한 대부분의 기술을 가지고 있다.
스프링의 일차적인 존재 이유는 웹 기술에 담긴 프로그래밍 모델을 일관되게 적용해 애플리케이션 개발을 편리하게 만들어주는 것이다.
- 경량급
 
솔직히 스프링이 가볍다고 생각해 본 적은 없다.
nest... 와 같은 프레임워크가 훨씬 가볍다고 생각했었다.
그럼에도 스프링이 가볍다고 말하는 이유는 불필요한 부분이 없기 때문이라고 한다.
스프링이 처음 등장하던 시기에는 EJB가 개발환경과 운용서버, 개발과 빌드, 테스트 과정 등등... 코드들을 엄청 무겁게 만들었다고 한다.
그렇기에 서버를 동작하기 위해서는 고성능의 무거운 자바 서버가 필요했다고 한다.
그렇기에 스프링은 가장 단순한 톰캣에서도 동작할 수 있도록 등장했으며, 이것만으로도 충분하게 애플리케이션을 개발할 수 있었다고 한다.
- 자바 엔터프라이즈 개발을 편하게
 
스프링이 배우기 쉬웠던 기술이라고는 생각되지 않는다.
하지만 여기서 말하는 편하다라는 뜻은 그런 의미는 아니고, 개발의 비즈니스 로직에 집중하다록 만들어주었다는 것이다.
기존에 개발자가 로우레벨의 트랜잭션, 상태관리, 멀티쓰레딩과 같은 부분까지 신경을 쓰며 개발을 해야했다면 스프링은 그런 문제를 해결해주었다는 것이다.
물론 여기서 이런 기술을 아예 무시하고 개발한다는 것이 아니다.
이런 요구들을 스프링 엔터프라이즈 시스템에서 최대한 해결해준다는 것이다.
- 오픈소스
 
스프링은 처음부터 지금까지 오픈소스로 개발되고 있다.
그렇기에 공개된 커뮤티니의 공간 안에서 다양한 사람이 투명하게 참여하여 개발하기에 빠르고 유연하게 성장이 가능하다.
사용자의 피드백도 빠르게 반영되고 있다.
라이센스에 대한 비용도 없기 때문에, 부담없이 큰 기업에서도 사용해 개발이 가능하다.
'Spring > 토비의 스프링' 카테고리의 다른 글
| [토비의 스프링] 7.6 스프링 3.1의 DI (3) | 2025.07.28 | 
|---|---|
| [토비의 스프링] 7.5 DI를 이용해 다양한 구현 방법 적용하기 (2) | 2025.07.22 | 
| [토비의 스프링] 7.4 인터페이스 상속을 통한 안전한 기능확장 (1) | 2025.07.22 | 
| [토비의 스프링] 7.3 서비스 추상화 적용 (2) | 2025.07.21 | 
| [토비의 스프링] 7.2 인터페이스의 분리와 자기참조 빈 (2) | 2025.07.11 |