1. 스프링 부트란?
스프링 프레임워크 기반 프로젝트를 복잡한 설정없이 쉽고 빠르게 만들어주는 라이브러리입니다.
사용자가 일일이 모든 설정을 하지 않아도 자주 사용되는 기본설정을 알아서 해줍니다.
2. 왜 스프링 부트를 사용해야할까?
스프링 프레임워크를 사용하려면 많은 XML 설정 파일(web.xml, rootContext.xml, ServletContext.xml 등)들을 작성해야하고, 설정 방법을 모두 외우지 못했다면 기존에 사용했던 설정을 Copy&Paste하거나 개발자가 일일이 인터넷 검색을 통해서 설정해주어야 했습니다. 이는 곧 생산성과 비용 문제로 직결될 수 있습니다.
하지만 스프링 부트를 사용하면 복잡한 설정없이 쉽고 빠르게 스프링 프레임워크를 사용할 수 있습니다.
3. Spring Boot 장점
1) 라이브러리 관리의 자동화
스프링 부트의 Starter 라이브러리를 등록해서 라이브러리의 의존성을 간단하게 관리할 수 있습니다.
2) 라이브러리 버전 자동 관리
기존에는 스프링 라이브러리의 버전을 하나하나 직접 입력해야 했지만, 스프링 부트는 pom.xml에 스프링 부트 버전을 입력하면 스프링 라이브러리 뿐만 아니라 서드 파티 라이브러리들도 호환되는 버전으로 알아서 다운해줍니다.
<!-- maven -->
<project>
...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0-SNAPSHOT</version>
<relativePath/>
</parent>
...
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 버전을 입력하지 않아도 된다. -->
</dependency>
</dependencies>
</project>
3) 설정의 자동화
스프링 부트는 @EnableAutoConfiguration 어노테이션을 선언해서 스프링에서 자주 사용 했던 설정들을 알아서 등록해줍니다.
이것을 스프링 부트에 마법이라고 불린다고 합니다.
4) 내장 Tomcat
스프링 부트는 Tomcat을 내장하고 있기 때문에 @SpringBootApplication어노테이션이 선언되어있는 클래스의 main() 메소드를 실행하는 것만으로 서버를 구동시킬 수 있습니다. 내장 톰캣을 사용하려면 특별한 설정없이 Web Starter 의존성만 추가해주면 됩니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
5) 독립적으로 실행 가능한 JAR
웹 프로젝트라면 WAR 파일로 패키징해야하지만 스프링 부트는 내장 톰캣을 지원하기 때문에 JAR 파일로 패키징해서 웹 애플리케이션을 실행시킬 수 있습니다.
참조 :
https://kimyhcj.tistory.com/373 [기억과 기록]
elevatingcodingclub.tistory.com/25
'IT > Spring' 카테고리의 다른 글
[Spring] 의존성 주입(Dependency Inject,DI)이란? (0) | 2020.11.16 |
---|---|
[Spring Boot] Hikari Connection Pool 설정 (0) | 2020.11.03 |
[SpringBoot] HandlerInterceptor 설정하기 (0) | 2020.10.12 |
Spring Boot로 간단한 웹 사이트 만들기 - DB 연동 (0) | 2020.09.28 |
Spring Boot로 간단한 웹 사이트 만들기 - 환경 구축 (0) | 2020.09.07 |