Spring Framework 와 Spring boot의 차이점에 대해 설명하는 글입니다.
Starter를 통한 Dependency 자동화 : Spring Framework에서는 각각의 Dependency들의 호환되는 버전을 하나하나 맞추고, 버전이 바뀌게 되면 다른 dependency까지 맞춰 줘야 해서 version 관리의 어려움이 많았으나, starter 라이브러리들이 Dependeny를 관리해 주 어 편리하게 되었다.
그렇다면 어떤식으로 자동 버전 호환을 시킬까?
Maven을 사용하는 경우
Starter로 의존성을 추가하면, 부모 (spring-boot-starter-parent)로 부터 의존성을 상속받아 자동으로 버전이 Mapping된다.
Gradle일 경우
io.spring.dependency-management 플러그인을 적용하면, 자동으로 spring-boot-dependencies를 import 한다고 한다
Springboot 1.4.5 공식문서에 다음과 같이 나와있다.
The spring-bootplugin automatically applies the Dependency Management Plugin
and configures it to import the spring-boot-starter-parentbom. This provides a similar dependency management experience to the one that is enjoyed by Maven users
SpringBoot 2.5.0 공식문서 에서도
When you apply the io.spring.dependency-management plugin, Spring Boot’s plugin will automatically import the spring-boot-dependencies bom. from the version of Spring Boot that you are using. This provides a similar dependency management experience to the one that’s enjoyed by Maven users.
결론 : Gradle을 사용할 경우 spring-boot plugin <org.springframework.boot>,<io.spring.dependency-mangement> 만 존재하다면, 의존성관리를 알아서 잘 진행해준다.
Spring Boot의 Auto-Configuration 은 추가한 jar 파일에 따라 자동적으로 설정 해준다.
cf) Auto-Configuration을 사용하고 싶다면 @SpringBootApplication or @EnableAutoConfiguration 사용함녀 된다
Web Application Server인 Tomcat을 내장하고 있어서 Build를 통해 패키징 후 , jar파일을 통해 간단히 배포할 수 있다.
#cf) 스프링의 특징을 다시 한번 조사하고 정리할 필요가 있을거 같다. 자세히 모르는 것 같다.
[Spring 특징]
https://devkingdom.tistory.com/102