[Spring] 우리는 왜 스프링을 사용하는가?

2022년 06월 27일

TOC

왜 프레임워크를 사용할까?

우리가 스프링을 사용하는 이유에 대해 생각하려면 앞서 프레임워크를 왜 사용하는지에 대해서 생각을 해봐야 한다. 우리가 프레임워크를 사용하는 몇가지 이유를 정리해봤다.

  • 체계적인 코드관리로 유지보수가 용이하다.
  • 기본설계 및 기능 라이브러리를 제공하여 개발 생산성이 높다
  • 코드에 대한 재사용성이 높다
  • 추상화된 코드 제공을 통해 확장성이 좋다.

우리는 위의 장점을 얻기 위해 프레임워크를 사용한다.

프레임워크에 대해 잘 모르겠다면 아래의 포스트를 참조하길 바란다.

왜 많은 프레임워크중에 스프링을 사용할까?

  1. 대중적인 언어인 Java 기반의 프레임워크이다.
  2. 시간이 흐르며 프레임워크가 단단해지고 있다.

    • 초창기 스프링과 비교하였을 때, Spring Boot, Annotation 기능 등의 개발을 편리하게 하는 많은 기능들과 모듈들이 꾸준히 추가되고 있다. 또한 모듈들을 독립적으로 사용가능하여 필요한 모듈만 학습하여 사용할 수 있다.
    • 많은 사용자들이 오랜 시간동안 사용하며 프레임워크의 안정성이 증명됐다.
  3. 다양한 개발사례와 문서, 레퍼런스가 제공되고 있다.
  4. POJO기반의 구성(Plain Old Java Object)

    • 특정한 라이브러리나 컨테이너 기술에 종속되어있지 않아 Java 코드를 이용하여 객체를 구성하는 방식 그대로 스프링에서도 이용 가능하다.
    • 덕분에 자유롭게 객체지향적인 설계를 할 수 있다. → 높은 생산성과 유연한 테스트를 할 수 있다.
  5. DI를 통한 객체 관계 구성

    • 제어의 역전을 통해 외부에서 메서드나 객체의 호출 작업들이 이루어진다.
    • DI의 특징으로 인해 개발자가 POJO개발이 가능하게 된다.
  6. AOP 지원

    • 개발을 하다보면 보안, 로그, 트랜잭션과 같이 반복적으로 처리해줘야하는 공통 관심사가 생기게 된다. 스프링은 이러한 관심사들을 AOP라는 기능을 통해 별도로 관리하고 적용할 수 있도록 지원하고 있다.
    • 덕분에 개발자들은 반복적인 코드를 줄이고 핵심 비즈니스 로직에 집중할 수 있다.
  7. 편리한 MVC 구조
  8. WAS에 독립적인 개발 환경

    • Spring Boot가 WAS를 내장으로 갖고 있어서 개발환경 설정이 편리하고 WAS를 변경할 수도 있다.
  9. 개발자가 기본적으로 DI, AOP, 서비스 추상화와 같은 디자인 패턴을 강제적으로 사용하게끔 함으로서 코드 구조 퀄리티의 최소한을 보장한다.

📚 Reference

Buy me a coffeeBuy me a coffee
Written by

@Seongwon

기술공유를 통해 새로운 가치 창조을 추구하는 백엔드 개발자 오성원입니다.
©SeongwonOh