Spring Framework? 이게 뭐지...
처음으로 웹 관련 직장을 갖자고 결심한 순간, 회사 자격 요건에 빠짐없이 등장하는 스프링 프레임워크.
내가 알기론 전자정부 프레임워크로 스프링을 쓰도록 강제하도록 한다고 들은 적이 있다.
Django나 자바스크립트 기반의 서버는 만들기도 쉽다는데 왜 스프링을 쓸까?
개인적인 생각으로는
- 옛날부터 지금까지 쓰여와서 쌓은 레퍼런스들이 많다.
- 스프링은 크다, 그리고 사용할 수 있는 기능도 많다.
- 기업에서도 새롭게 다른 프레임워크를 쓰기에는 부담이 클 것이다.
이렇다고 생각한다.
일단은 스프링 프레임워크의 위키피디아를 간단히 발췌 해보면,
스프링 프레임워크(영어: Spring Framework)는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다.
이렇듯이 대한민국에서 많이 쓰이는 대표적인 이유로는 "전자정부 표준프레임워크" 라서가 아닌가 싶다.
스프링, 개인적으로 생각하는 장점과 단점
스프링 프레임워크를 졸업 작품으로 쓰면서 가장 힘들었던 것이 설정을 하는 것이 아닌가 싶다.
이런 저런 설정을 잡고, 가다듬다 보면, 그것 만으로도 진이 빠지는 느낌....
이러한 점을 보완하기 위해 스프링 부트(Spring Boot)라는 것이 있는데 최근에서야 나도 사용하고 있는 중이다.
자세한 것은 따로 글을 쓰려고 한다.
아무튼 그럼에도 스프링이 가지는 장점은 분명한데, 이를 테면...
- POJO (Plain Old Java Object) 따로 스프링 프레임워크를 위한 별도의 개발 공부가 필요 없다는 것
- 의존성 주입(DI, Dependency Injection)으로 스프링은 의존 관계를 좀 더 유연하게 쓸 수 있도록 제공한다는 것
- AOP (Aspect Oriented Prgramming) 관점 지향적 프로그래밍으로, 핵심 관심사를 나눠 프로그램 모듈화
- 데이터베이스 트랜잭션의 도움 - (이것은 순수한 스프링 프레임워크만의 기능인지는 잘 모르겠다.)
이나 IoC나 등등의 많은 장점이 있다고들 한다.
사실 나도 스프링 프레임워크에 대해서 다 아는 것도 아니고, 제대로 써봤다고 장담할 수는 없지만, 그래도 좋은 기술이라고 생각한다.
앞으로 스프링 프레임워크에 대한 장점에 대해서 포스팅을 해보려고 한다. 나도 모르는 만큼 부족하거나 틀린 부분이 있으면 댓글로 달아주셔도 좋다.
'Spring & Boot' 카테고리의 다른 글
[Spring] REST API (0) | 2020.09.22 |
---|---|
[Spring] @ResponseBody와 @RequestBody (0) | 2020.09.02 |
[Spring] MVC 패턴 - Model1, Model2 (0) | 2020.09.02 |
[Spring] D.I (Dependency Injection) 의존성 주입, 도대체 뭘까? (0) | 2020.09.02 |