본문 바로가기

Back-end/Spring Boot

Spring Boot 특징

https://futurecreator.github.io/2016/06/18/spring-boot-get-started/

 

스프링 부트 (Spring Boot) 로 시작하는 프레임워크 (Framework)

스프링을 사용하다보니 좋은 프레임워크긴 하지만 지옥같은 XML 설정과 방대한 양의 코드 때문에 애를 먹었습니다. 간단한 소규모 혹은 개인 프로젝트에서도 스프링을 사용하고 싶은데 왠지 무

futurecreator.github.io

https://elevatingcodingclub.tistory.com/25

 

[SpringBoot] Spring Framework와 Spring Boot 장점 정리

Framework - 사전적 의미는 '뼈대' 혹은 '구조'이다. - 소프트웨어 관점에서 해석하면, 프레임워크는 애플리케이션의 아키텍처에 해당하는 골격 코드라고 할 수 있다. - 애플리케이션을 개발할 때 가

elevatingcodingclub.tistory.com

 

참고자료

 


Spring Boot

스프링의 프로젝트 중 하나이다.

스프링 프레임워크를 사용하는 프로젝트를 간편하게 설정할 수 있다.

 

Spring Boot 특징

 

  1. 라이브러리 관리 자동화
    • Starter라는 것을 이용해 특정 기능에 필요한 라이브러리 의존성을 간단히 처리 가능하다.
  2. 설정의 자동화
    • XML 설정이 필요하지 않다.
    • 프로젝트에 추가된 라이브러리를 기반으로 실행에 필요한 환경을 자동으로 설정해준다.
    • 라이브러리를 추가하면 스프링 부트가 인지하여 관련된 스프링 설정으로 자동으로 처리해준다.
  3. 라이브러리 버전 자동 관리
    • 스프링 부트 버전에 해당하는 스프링 라이브러리와 서드파티 라이브러리들도 호환되는 버전으로 다운로드 해준다.
  4. 테스트 환경과 내장 Tomcat
    • JUnit을 비롯한 테스트 관련 라이브러리들이 기본적으로 포함되어 있기 때문에 컨트롤러를 비롯한 다양한 계층의 클래스들에 대해서 테스트 케이스를 쉽게 작성할 수 있다.
    • Tomcat 서버를 내장하고 있기 때문에 main() 메소드를 가진 클래스를 실행하는 방식으로 서버를 구동하여 실행결과를 빠르게 확인할 수 있다.
  5. 독립적으로 실행 가능한 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