유혁의 개발 스토리

[Spring Boot] 1. 스프링 부트란 무엇인가 본문

Spring Boot

[Spring Boot] 1. 스프링 부트란 무엇인가

유혁. 2020. 9. 9. 17:19

1. Spring Boot란 무엇인가?

 

 Spring Boot는 Spring이라는 자바 프레임워크의 프로젝트를 의미하며, 에플리케이션을 만들기 쉽게 만들 수 있다.

Spring 구성 설정을 간소화 하였고, third-party library를 선호하는 버전으로 틀을 만들어 번거로운 것들을 최소화 하였다. 

 

기본적으로 Tomcat이 내장되어 있어, jar파일을 통해 쉽게 배포할 수 있는 장점이 있습니다.

 

스프링부트의 목표 4가지

1. 웹 에플리케이션 구조 잡는데 하루 이틀이 걸리는 단점을 부트를 쓰면 손쉽게 사용이 가능

2. 기본설정에서 요구사항에 따라 다양하게 개발 가능

3. 프로젝트의 모니터링 헬스체크 등 더 많이 제공

4. 코드 제너레이션 사용하는게 아니다. xml 환경설정이 필요 없다.

 

2. 시스템 요구사항

* Spring Boot 2.0.0RC2 기준

 

- Java 8 or 9 

- Spring Frameworkd 5.0.4 RELEASE 

- Maven 3.2+

- Gradle 4

 

 

3. Servlet Containers (Servlet 3.0+ 호환 가능한 컨테이너)

- Tomcat 8.5

- Jetty 9.4

- Undertow 1.4 

 

 

4. 스프링 부트 시작하기전에

1. Java SDK 1.8+ 버전이 필요함. 

 

java -version 확인방법

$ java -version 

 

* 자바개발자를 위한 설치방법

스프링부트는 자바 라이브러리로 spring-boot-*.jar 를 클래스패스에 추가하면 된다. 별다른 툴이 필요하지 않다.

 

 

2. Apache Maven 설치 필요

Apache Maven 3.2+ 호환

버전확인 방법

$ mvn -version

 

 

3 pom.xml  

<parent> 태그란, 부모 pom.xml 을 상속받음 버전들이 부모태그에서 정의가 되어있으므로

자식은 의존성을 버전을 명시하지 않아도 자동으로 버전을 잡아준다.

주로 spring-boot-starter 의존성을 쓰게 될 것이다.

parent 대신 DependencyManagement 를 사용해도 된다. 

https://start.spring.io 에서 의존성을 검색하여 쉽게 추가할 수 있다.

 

 

- POM 만들기

1. 의존성 추가 (Spring-boot-starter-web) 추가 시 하위 기본 의존성들이 들어감 

2. 스프링부트 메이븐 플러그인 추가

3. 스프링 parent(DependencyManagement)추가

4. Repositories 저장소추가 

 

mvn dependency:tree를 통해 의존성 트리 확인이 가능

 

 

4. Java Main생성 

 

 

 

 

 

간단정리 

1. Java 8버전 설치

2. Maven 설치 

3. pom.xml 설명

4. 실행가능한 Java main문 만들기 

5. 서버실행 

 

 

 

다음글에는 Spring 프로젝트 생성하여 기본 웹서비스를 띄워보도록 하겠습니다.

'Spring Boot' 카테고리의 다른 글

[Spring Boot] 2. 개발환경 구축하기  (0) 2020.09.09