https://futurecreator.github.io/2016/06/18/spring-boot-get-started/
https://elevatingcodingclub.tistory.com/25
참고자료
Spring Boot
스프링의 프로젝트 중 하나이다.
스프링 프레임워크를 사용하는 프로젝트를 간편하게 설정할 수 있다.
Spring Boot 특징
- 라이브러리 관리 자동화
- Starter라는 것을 이용해 특정 기능에 필요한 라이브러리 의존성을 간단히 처리 가능하다.
- 설정의 자동화
- XML 설정이 필요하지 않다.
- 프로젝트에 추가된 라이브러리를 기반으로 실행에 필요한 환경을 자동으로 설정해준다.
- 라이브러리를 추가하면 스프링 부트가 인지하여 관련된 스프링 설정으로 자동으로 처리해준다.
- 라이브러리 버전 자동 관리
- 스프링 부트 버전에 해당하는 스프링 라이브러리와 서드파티 라이브러리들도 호환되는 버전으로 다운로드 해준다.
- 테스트 환경과 내장 Tomcat
- JUnit을 비롯한 테스트 관련 라이브러리들이 기본적으로 포함되어 있기 때문에 컨트롤러를 비롯한 다양한 계층의 클래스들에 대해서 테스트 케이스를 쉽게 작성할 수 있다.
- Tomcat 서버를 내장하고 있기 때문에 main() 메소드를 가진 클래스를 실행하는 방식으로 서버를 구동하여 실행결과를 빠르게 확인할 수 있다.
- 독립적으로 실행 가능한 JAR
- 기존의 웹 프로젝트는 WAR 파일로 패키징 해야했지만, 스프링 부트는 JAR 파일로 패키징하여 사용 가능하다.
@SpringBootApplication
- @SpringBootConfiguration, @ComponentScan, @EnableAutoConfiguration 애노테이션을 축약하였다.
- @SpringBootConfiguration : 빈에 대해서 Context에 추가하거나 특정 클래스를 참조해 올 수 있다.
- @ComponentScan : 패키지 내 application 컴포넌트가 어디에 위치해 있는지 검사한다.(빈 검색)
- @EnableAutoConfiguration : Spring Boot의 자동화 기능(Spring 설정)을 활성화시켜준다.
AutoConfiguration
- Spring Boot는 200개 이상의 설정을 자동으로 해준다.
- ex) JDBCTemplate를 스프링 빈으로 선언하고 DataSource를 설정하는 과정이 필요 없어진다.
Spring Boot Starter
- 스프링 프레임워크에서 사용하던 다양한 플러그인은 서로 간의 의존성이 충돌되는 이슈가 빈번히 발생하였다.
- 스프링 부트에서는 스타터 플러그인을 사용하여 패키징된 플러그인으로 제공되어 상호간에 의존성 충돌에 대한 노력을 최대한 줄일 수 있게 되었다.
'Back-end > Spring Boot' 카테고리의 다른 글
ResponseEntity란? (0) | 2021.10.12 |
---|---|
@RequestBody와 @ResponseBody (0) | 2021.10.07 |
@RequestParam, @PathVariable, @RequestBody (0) | 2021.10.07 |
Spring Boot - REST API - 학습필요 (0) | 2021.10.07 |