SpringBoot

Bong2·2022년 4월 18일

Spring

목록 보기
2/9

SpringBoot를 왜 사용하는가?

Spring Framework가 등장했음에도 환경설정이 복잡하고 시간이 오래걸려서 불편함을 느끼게 되었다.

SpringBoot는 Spring을 통해 웹 애플리케이션을 실행시키기 전까지의 많은 환경 설정을 자동화하여 개발자에게 편하게 Spring을 사용할 수 있도록 도와주기 위해 등장!

  • Auto Configuration
  • 편리한 의존성 관리
  • Embedded Server(내장 서버)
  • 스프링 프레임워크 요소

Auto Configuration

DispatcherServlet과 같은 설정을 어노테이션을 통해 대신할 수 있다 (@SpringBootApplication : @ComponentScan, @EnableAutoConfiguration)
여러 설정들을 자동으로 수행하게된다.

편리한 의존성 관리

starter를 통해 Spring Boot는 dependency를 관리함으로써, 버전 종속성으로 인한 호환성을 고려하여 수동적으로 관리해야됬던 Spring의 문제를 해결함
통합 Starter를 제공하여 Maven/Gradle 구성을 간소화
maven pom.xml에서 의존 라이브러리의 버전을 일일이 지정하지 않아도 된다. 스프링 부트가 권장 버전을 관리한다.

  • spring-boot-starter-web-services : SOAP 웹 서비스
  • spring-boot-starter-web : Web, RESTful 응용프로그램
  • spring-boot-starter-test : Unit testing, Integration Testing
  • spring-boot-starter-jdbc : 기본적인 JDBC

Embedded Server

내부에는 Tomcat과 같은 WAS를 내장함으로써 이전 Spring Framework에서 WAS를 설치하고 버전을 관리하는 문제를 해결

톰캣(Tomcat)이나 제티(Jetty)를 기본 내장할 수 있으며 웹 프로젝트 띄우는 시간이 독립적인 톰캣으로 띄우는 시간보다 반은 단축
서블릿 컨테이너가 내장될수 있으므로 JAR을 이용하여 자바 옵션만으로도 배포가능

스프링 프레임워크 요소

스프링 Security , Data JPA 등의 다른 스프링 프레임워크 요소를 쉽게 사용가능하다. 이 과정에서 프로토타이핑이나 기능을 시험해보는 시간이 전보다 단축된다.

단점

  • 설정을 커스터마이징하는 경우 기존의 스프링을 사용하는 것과 같은 불편함이 있다.
  • 설정을 변경하고 싶은 경우 내부 코드를 살펴봐야되는 불편함이 있다.
profile
자바 백엔드 개발자로 성장하자

0개의 댓글