본문 바로가기
개발정보

스프링 부트 개요 및 설치, 개발환경 선택, 프로젝트 실행

by 소하루 2023. 10. 14.

스프링 부트 개요

스프링 부트는 스프링 기반 Java 웹 작업을 빠르고 간편하게 개발할 수 있도록 도와주는 프레임워크입니다. 

스프링 부트는 스프링 프레임의 기능을 최대한 활용하고 복잡한 설정 없이 웹을 제작할 수 있도록 설계되었습니다. 

스프링 부트의 여러 가지 주요 기능과 개요는 다음과 같습니다. 

 

1. 스타터(Starter) 종속성:

스프링 부트는 여러가지 프로젝트 설정 및 의존성 관리를 해주는 스타터 패키지를 제공합니다. 예를 들어, 웹 애플리케이션을 개발할 때는 spring-boot-starter-web 스타터를 추가함으로써 웹 애플리케이션에 필요한 모든 라이브러리 및 설정을 자동으로 포함할 수 있습니다.

 

2. 자동 구성(Auto-Configuration)
스프링 부트는 클래스패스 상의 라이브러리와 설정을 기반으로 자동으로 애플리케이션의 구성을 설정해 줍니다. 이를 통해 복잡한 설정 작업을 최소화하고 빠르게 개발을 진행할 수 있습니다.


3. 내장 서버 지원
스프링 부트는 내장 서버(예: 톰캣, 제티)를 지원하여 애플리케이션을 실행할 때 별도의 외부 서버 설정 없이도 애플리케이션을 실행할 수 있습니다.


4. 간편한 외부 설정
application.properties 또는 application.yml 파일을 사용하여 외부 설정을 관리할 수 있습니다. 이를 통해 데이터베이스 연결 정보, 포트 번호, 로그 레벨 등을 손쉽게 관리할 수 있습니다.


5. 보안 기능
스프링 부트는 기본적인 보안 설정을 제공하며, 사용자 정의 보안 설정을 간편하게 추가할 수 있습니다.


6. 스프링 빈 자동 검색 및 의존성 주입
스프링 부트는 클래스 경로 상에 있는 빈(Bean)들을 자동으로 검색하고, 필요한 의존성을 주입해줍니다. 이를 통해 개발자는 더 이상 복잡한 빈 설정이나 의존성 주입에 대해 걱정할 필요가 없습니다.


7. 강력한 관리 기능
스프링 부트 액추에이터(Spring Boot Actuator)를 통해 애플리케이션의 상태 모니터링, 메트릭 수집, 애플리케이션 환경 정보 제공 등과 같은 관리 기능을 쉽게 추가할 수 있습니다.

 

스프링부트 설치

스프링 부트를 설치하기 위해서 스프링 웹 페이지를 방문해야 합니다.

스프링 웹 페이지 상단 메뉴의  Learn - Quick Start를 눌러서 들어가시거나,

아래 링크에 직접 접속하시면 됩니다.

https://start.spring.io/

 

스프링 부트 스타트 페이지에 접속을 하셨으면, 원하는 스프링 환경을 선택해 주시면 됩니다.

 

개발환경 선택

프로젝트에서 선택해야 할 사항은 빌드관리 도구입니다. 

빌드관리 도구로 Gradle을 사용할지 Maven을 사용할지 결정하여 클릭하면 됩니다.

Gradle과 Maven의 차이점은 다음과 같습니다.

 

- Gradle : Gradle은 Groovy 또는 Kotlin 기반의 언어를 사용하여 빌드를 관리합니다.

- Maven : Maven은 XML( pom.xml )기반의 빌드 스크립트를 사용합니다.

 

Gradle은 Maven에 비해 유연성과 성능이 좋으나, 프로젝트의 요구 사항 또는 선호도에 따라

두 도구 중 적절한 것을 선택하여 사용하시면됩니다.

 

https://start.spring.io/ 화면

 

언어와 스프링 부트의 버전은 기본적으로 체크되어 있는 것들은 사용하시거나, 원하는 버전을 선택하시면 됩니다.

버전 옆에 (SNAPSHOT)이라 적혀있는 것은 정식버전이 아니니 참고하세요.

모두 선택을 하셨으면, 프로젝트의 이름을 설정하고,

Dependencies에서 원하는 라이브러리를 검색 후 클릭하여 추가하시면 됩니다.

기본적인 라이브러리로는 아래의 라이브러리가 있습니다.

"스프링부트 라이브러리"

  • spring-boot-starter webspring-webmvc : 스프링 웹 MVC
  • spring-boot-starter-tomcat 톰캣 (웹서버)
  • spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진(View)
  • spring-boot-starter(공통) : 스프링부트 + 스프링 코어 + 로깅
    • spring-boot
      • spring-core

"테스트 라이브러리"

  • spring-boot-starter-test
    • junit : 테스트 프레임워크
    • mockito : 목 라이브러리
    • assertj : 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
    • spring-test : 스프링 통합 테스트 지원

 

설정이 완료 후 GENERATE를 클릭하면 다운로드가 됩니다.

 

프로젝트 실행 

스프링부트 프레임워크 개발을 위한 IDE는 최근에 IntelliJ를 많이 사용하고 있습니다. 

 

인텔리제이 무료 버전( IntelliJ IDEA Community Edition ) 다운로드 링크

https://www.jetbrains.com/idea/download/?section=windows

 

Download IntelliJ IDEA – The Leading Java and Kotlin IDE

Download the latest version of IntelliJ IDEA for Windows, macOS or Linux.

www.jetbrains.com

 

IntelliJ를 실행하여 다운로드 한 프로젝트 파일을 열게 되면 왼쪽에 project 파일의 리스트가 나옵니다.

그 중 build.gradle 파일을 보게되면 start.spring.io에서 설정했던 개발 환경 정보를 확인 할 수 있습니다.

개발 환경이 제대로 설정되어 있는 것을 확인하셨다면, 스프링부트가 잘 설치되었는지 실행하여 보겠습니다.

 

IntelliJ 화면 우측 상단의 ▶(Run) 실행버튼을 클릭하면, 아래의 콘솔창에 spring이란 문구가 뜹니다.

그 후 Process finished with exit code 0 이 마지막으로 나오면 문제 없이 정상 실행 된 것을 확인할 수 있습니다.