스프링과 스프링부트에 대해 알아보겠습니다. 스프링과 스프링 부트는 모두 자바 기반의 웹 애플리케이션 개발을 위한 프레임워크입니다. 각각의 프레임워크는 각각 장단점이 있으며, 개발자의 목적에 따라 선택하여 사용할 수 있습니다. 이 글에서 차이점을 알아보고, 상대적으로 쉬운 스프링 부트 개발 환경을 설정하는 방법에 대해 알아보겠습니다.
스프링 프레임워크 (Spring framework)
스프링 프레임워크는 자바(Java) 기반의 웹 프로그램 개발을 지원하는 오픈소스 애플리케이션 프레임워크입니다. 이는 간단히 스프링이라고 불립니다. 스프링 프레임워크는 크게 4가지의 특징을 가집니다.
- 제어 역행 (Inversion of Control)
- 의존성 주입 (Dependency Injection)
- 관점 지향 프로그래밍 (Aspect-Oriented Programming)
- 휴대용 서비스 추상화 (Portable Service Abstraction)
스프링 프레임워크에서는 각 모듈의 의존성을 직접 수동으로 설정해야 합니다.
스프링 프레임워크의 복잡성과 불편함을 해결해 주기 위해 스프링에서 파생된 프레임워크 중 하나가 스프링 부트입니다.
다시 말해 스프링의 복잡한 설정을 자동화 및 단순화하여 쉽게 사용할 수 있도록 파생된 프레임워크 중 하나가 스프링 부트입니다.
여기서 잠깐!! 웹 프레임 워크의 개념을 집고 가겠습니다.
웹 프레임워크
웹 프로그램을 완성할 때 개발자들은 많은 기능을 생성해야 합니다. 웹 프레임워크는 이러한 기능을 미리 구축하여 개발자가 필요한 구조와 안내를 제공함으로써 웹 애플리케이션을 보다 쉽고 효율적으로 개발할 수 있도록 합니다. 마치 요리 레시피처럼, 웹 프레임워크를 사용하면 개발자는 더 쉽고 효율적으로 웹 애플리케이션을 개발할 수 있습니다.
스프링 부트(Spring Boot)
스프링 부트도 자바 기반의 웹 프로그램 개발을 쉽게 빠르게 생성하는 데 도움을 주는 도구, 즉 프레임워크입니다. 내장 서버를 포함하고 있어 별도의 WAS를 설치할 필요 없이 개발부터 배포까지 손쉽게 진행할 수 있다는 장점이 있습니다.
WAS
웹 애플리케이션과 서버 환경을 연결하는 중간 역할을 하는 소프트웨어 플랫폼을 WAS (Web Application Server)라고 합니다. WAS 종류로는 톰캣, 오라클 웹 로직, IBM 웹 스피어, 제이보스, 제우스 등이 있습니다.
스프링 프레임워크과 스프링 부트 비교
구분 | 스프링 프레임워크 | 스프링 부트 |
설정 | 직접 설정 필요 | 자동 설정 제공 |
서버 | 별도의 WAS 수동 설정 | 톰캣 내장 |
개발 속도 | 상대적으로 느림 | 빠름 |
편의 기능 | 적음 | 다양한 편의 기능 제공 |
스프링 부트 개발 환경 준비하기
1. JDK 설치
먼저 자바 개발의 기본이 되는 JDK(Java Development Kit)를 설치해야 합니다.
윈도우에 설치한다면 Wndows 탭을 클릭하여 [ x64 MSI Installer ]를 클릭하여 다운로드합니다.
설치가 완료되면 c:\program files\java\jdk-version 디렉터리에 설치될 것입니다.
2. STS(Spring Tool Suite) 설치하기
스프링 부트 프로그램을 손쉽게 작성할 수 있도록 도와주는 도구(IDE 혹은 통합 개발 환경) 중 하나인 STS를 설치합니다. STS는 스프링 개발을 위해 특화된 Eclipse 기반의 통합 개발 환경입니다.
- Spring Tool Suite 다운로드 바로가기 :https://spring.io/tools
OS(Windows / Mac / Linux)에 맞는 다운로드 버튼을 눌러 STS 프로그램을 내려받습니다. 내려받은 파일을 더블클릭하여 실행하면 'STS-4.19.1.RELEASE'라는 이름의 디렉터리가 생성됩니다.
참고로, STS 말고 인텔리제이도 많이 사용한다고 합니다. 인텔리제이 설치는 이 글 참고해 주세요.
3. STS 실행 및 디렉터리 지정
위의 디렉터리에서 'SpringTollSuite4.exe' 파일을 실행시키고 디렉터리를 지정해 줍니다. 여기서 지정한 디렉터리는 가장 상위에 있는 디렉터리가 됩니다.
이렇게 스프링과 스프링 부트의 차이점에 대해 간단히 알아보았습니다. 쉽고 간단하게 웹 애플리케이션을 개발할 수 있는 스프링 부트 개발 환경 세팅도 소개드렸습니다. 다음에는 본격적으로 스프링 부트 프로젝트를 시작하기 위한 준비를 상세하게 소개드릴 수 있도록 하겠습니다. 이 글 도움이 되셨기를 바랍니다.
감사합니다.