스프링 부트 개요
스프링 부트란?
스프링 부트(Spring Boot)
- 스프링 프레임워크의 메이븐은 XML 파일에 dependency 태그를 이용하여 의존 설정을 하면 자동으로 라이브러리를 설치하고 관리할 수 있었다. XML 파일에 여러가지 설정을 하는 것은 스프링의 단점이다.
- 메이븐의 라이브러리 자동 업데이트 기능을 이어받으면서 기존 스프링 프레임워크의 복잡한 설정 과정은 최대한 줄이면서 개발할 수 있음
- 배포 또는 테스트 역시 스프링 프레임워크보다 쉽고 빠르게 할 수 있음
스프링 부트 특징
- 스프링 부트는 스타트업에서 모바일과 연동할 때 많이 사용한다. 이유는 일반적인 응용 프로그램을 단독으로 실행하는 수준으로 스프링 애플리케이션을 구현할 수 있기 때문이다.
- 프로젝트 환경을 구축할 때 필요한 톰캣, Jetty, UnderFlow 같은 서버 외적인 툴이 내장되어 있어 따로 설치할 필요가 없음
- XML 기반 설정이나 코드 없이 환경 설정을 자동화할 수 있음(그만큼 빨리 애플리케이션을 구현할 수 있다.)
- 의존성 관리를 쉽게 자동으로 할 수 있음
- 메이븐의 좋은 기능은 이어받고 기존에 사용한 기능이 불편하거나 복잡할 경우에는 쉽게 사용할 수 있도록 만든게 스프링 부트이다.
스프링 부트 전용 STS 설치하기
1. https://spring.io로 접속한 후 맨 하단의 TOOLS를 클릭한다.
아래와 같이 다운로드가 완료됬다. 파일이름이 길면 압축풀 때 오류가 날 수 있으니 이름을 수정하자.
이름 수정 후 더블클릭하여 압축을 푼위 아래 실행파일을 작업표시줄에 고정하고 더블클릭항 실행하자.
실행하면 워크스페이스 선택 창이 나오면 아래와 같이 지정한 후 Launch 버튼을 눌러 실행한다.
스프링 부트 프로젝트를 생성해보자.
아래와 같이 입력후 Next를 클릭한다.
프로젝트가 생성되면 아래 그림과 같이 src/main/resources 경로 밑에 application.properties 파일을 클릭한다.
아래와 같이 포트 번호를 8090으로 입력하고 세션 유효시간을 36분으로 한다.
프로젝트를 생성하면 아래와 같이 자동으로 클래스 파일이 생성된다.
Myboot01Application 클래스를 보자.
- package com.myboot01;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- @SpringBootApplication
- public class Myboot01Application {
- public static void main(String[] args) {
- SpringApplication.run(Myboot01Application.class, args);
- }
- }
스프링 부트는 일반 자바 어플리케이션을 개발하는 방식으로 웹 어플리케이션을 개발하자는 것이다. 라인 9를 보면 일반 자바 어플리케이션 처럼 main메소드가 프로그램의 시작점이다.
ServletInitializer 클래스를 보자.
- package com.myboot01;
- import org.springframework.boot.builder.SpringApplicationBuilder;
- import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
- public class ServletInitializer extends SpringBootServletInitializer {
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
- return application.sources(Myboot01Application.class);
- }
- }
라인 6을 보면 ServletInitializer 클래스는 SpringBootServletInitializer 클래스를 상속받고 있다. 스프링에서는 웹 어플리케이션을 생성하면 web.xml이 생성됬다. ServletInitializer는 web.xml을 없애주는 기능을 한다. 즉, myboot01 프로젝트는 web.xml에 설정을 할 필요가 없는 것이다.
아래와 같이 DemoController 클래스를 생성하자.
DemoController 클래스를 아래와 같이 작성하자.
- package com.myboot01;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- @Controller
- public class DemoController {
- //@ResponseBody
- //웹브라우저에 "Hello Boot!"를 문자 그대로 출력한다.
- @ResponseBody
- @RequestMapping("/")
- public String home() {
- System.out.println("Hello Boot!!");
- return "Hello Boot!";
- }
- }
기존에는 톰캣에 등록해서 실행을 했지만 스프링 부트는 톰캣이 내장되어 제공되기 때문에 아래와 같이 실행한다.
로그를 보면 스프링 부트가 시작되었다고 나온다.
웹 브라우저에 요청하면 아래와 같이 Hello Boot!가 출력되는 것을 확인할 수 있다.
'IT공부 > 스프링부트' 카테고리의 다른 글
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 1 (0) | 2020.05.26 |
---|---|
스프링부트 3강 - 스프링부트 만들기 II (0) | 2020.05.25 |
스프링부트 2강 - 스프링부트 만들기 I (0) | 2020.05.24 |
스프링부트 1강 - 스프링부트 소개 (0) | 2020.05.23 |