- 스프링 부트는 스프링에 비해서 간단한 설정만으로 프로젝트를 빠르게 시작하는 것이 가능하다.
- 보통 Web Application에서 스프링을 사용할 때는 Spring-Context에서 제공하는 DI 외에도 시큐리티,JDBC,MVC 등
의 다양한 모듈의 설정을 적용한 후 사용해야 하고, 이로 인해 초반에 설정 오류로 많은 시간을 허비하는 경우가
많다.
- 기존에 스프링을 사용할 때는 dependency를 추가할 때도 library 버전을 명시해 줘야하지만, 스프링 부트는 설정을 위임하고, 버전 관리도 스프링 부트에 의해 관리된다.
- spring-boot-dependencies
스프링 부트의 특징
- Embeded tomcat, jetty, UnderTow를 사용하여 독립 실행이 가능한 스프링 app 개발
- 통합 starter를 제공하여 maven/gradle 구성 간소화
- 번거로운 XML설정을 요구하지 않음
- JAR를 사용하여 자바 옵션만으로 도 배포 가능
- app 모니터링과 관리를 위한 Spring Actuator 제공
스프링 부트의 장점
- 의존성 버전을 올리는 것이 수월하다. 스프링 부트 버전이 올라갈 때마다, 각 버전 간의 호환성에 대해
충분한 테스트를 거치고 배포되기 때문에 하나씩 수동으로 버전을 관리할 때보다 안정적
- 특정 library에 버그가 있어도 스프링팀이 버그를 고친 버전을 받기 편리
- 복잡한 세부 설정 없이 properties나 @어노테이션으로 원하는 기능을 빠르게 적용할 수 있다.
- 별도의 외장 톰캣이 필요가 없고, 톰캣 버전도 위와 같은 이유로 편리하게 관리 가능
스프링 부트의 단점
- 설정을 커스텀하면 기존 스프링을 쓸 때와 동일한 불편함
- 특정 설정을 변경하고 싶을 때, 내부 설정 코드를 뜯어봐야한다.
- 자동 설정이 자신의 프로젝트와 맞지않는 기능일 수 있다. (e.g. JPA ddl 설정)
스프링 부트 스타터
- 스프링 부트 내부 의존성 확인
또는
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter
스프링 부트 github wiki
https://github.com/spring-projects/spring-boot/wiki
출처 : 손영철 개발자 깃허브 :https://github.com/ivvve/
'Spring Framework > Settings' 카테고리의 다른 글
스프링 부트 - MVC 설정(feat. JPA,MySQL,Thymeleaf) (0) | 2019.08.19 |
---|---|
스프링 부트 - 리소스(css, images) 경로 추가 (1) | 2019.08.16 |
스프링 부트 환경 설정 (0) | 2019.08.08 |