본문 바로가기
스터디/Spring

Spring vs SpringBoot

by zoodi 2021. 6. 27.
728x90

Spring을 공부하면서 Spring과 SpringBoot의 차이점이 궁금했다. 우선 왜 스프링을 스프링이라할까?

 

Spring 어원

개발자들이 스프링을 사용하게되면서 추운 "Winter"는 끝이나고 이제 "Spring"이 왔다고해서 스프링으로 이름이 붙여졌다고한다.

Spring 공식 사이트에 적혀있는 글

이렇게 Spring이라는 이름으로 프레임워크를 사용하게되었고 이후에 나온 것이 SpringBoot이다.

 

Spring vs SpringBoot

Spring과 SpringBoot의 자세한 차이점은 무엇일까?

우아한Tech의 닉 개발자분께서는 봄 vs 조금더 봄 으로 표현하신다.

 

스프링부트 특징은

1) 쉽게 만들고

2) 단독적이며

3) 상용화 수준의

4) 스프링 기반 애플리케이션

이라는 특징으로 단지 실행만 시키면 된다.

 

본격적인 차이점은 아래와 같다.

 

1. Dependency

스프링에서는 dependency의 버전까지 하나하나 관리를 해주어야하지만 부트에서는 spring-boot-starter-test, spring-boot-starter-data-jpa 등 코드가 짧아지며 버전 관리를 권장 버전으로 자동으로 설정해준다.

 

2. Configuration

스프링의 경우 configuration 설정 시 매우 코드가 길어지고 어노테이션, 빈 등록을 하나하나 해주어야한다.

But, 부트를 사용하면 더 짧은 코드로 작성할 수 있고 application.properties 나 application.yml파일에 설정하면 된다.

*여기서 첨언으로 application.properties를 많이 사용했지만 요즘엔 application.yml로 yml파일을 더 많이 사용한다고 한다.

yml파일이 코드 가독성이 더 좋고 중복 코드를 줄여주기 때문!

 

3. Embedded Server

스프링의 경우 서버를 설치하고 war 파일을 Wbe Application Server에 담아 배포한다.

부트를 사용하면 내장 was 서버가 있기 때문에 jar 파일로 간편하게 배포가 가능하다. (tomcat, jetty 설정 가능하다)

 

Summary

SpringBoot를 사용하면

1. 간편한 설정

2. 편리한 의존성 관리 & 자동 권장 버전 관리

3. 내장 서버로 인한 간단한 배포 서버 구축

4. 스프링 Security, Data JPA 등의 다른 스프링 프레임워크 요소를 쉽게 사용

 


참조 : 

https://www.youtube.com/watch?v=6h9qmKWK6Io

https://docs.spring.io/spring-framework/docs/current/reference/html/overview.html#overview

728x90

댓글