더북(TheBook)

1.1 스프링이란?

스프링을 하나의 기술로 설명할 때 가장 어려운 점은 스프링의 범주가 무엇인지 정확히 구분하는 것입니다. 보통 스프링은 자바 애플리케이션 개발을 위한 경량 프레임워크로 설명하는데 이러한 설명에는 두 가지 흥미로운 특징이 있습니다.

우선 첫 번째로, 스프링은 웹 애플리케이션의 개발에만 사용되는 아파치 스트럿츠와 같은 다른 여러 프레임워크와는 다르게 스프링은 어떤 형태의 자바 애플리케이션(예를 들어 단독 실행형, 웹, JEE 애플리케이션 등)이라도 개발할 수 있게 해줍니다.

두 번째로, 이 설명에서 ‘경량(lightweight)’이란 부분은 실제로 클래스 개수나 배포 모듈의 크기를 말하는 것이 아니라 스프링 철학의 원칙인 최소한의 영향을 준다는 것을 의미합니다. 스프링은 스프링 코어를 활용할 때 기존 애플리케이션 코드를 거의 바꾸지 않아도 된다는 점에서 매우 가벼우며 어느 시점에 스프링을 더는 사용하지 않기로 했을 때 간단하게 스프링을 걷어 낼 수 있습니다.

위 마지막 문장에서 스프링 코어만 언급한 것에 주의하기 바랍니다. 그 외에 데이터 액세스와 같은 대부분의 추가 스프링 컴포넌트는 스프링 프레임워크와 밀접하게 결합됩니다. 하지만 이런 결합으로 인한 장점은 명확하며 이 책 전반에 걸쳐 애플리케이션에 대한 영향을 최소화하는 방법에 관해 설명합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.