송민준의 개발노트

Spring과 SpringBoot의 차이 본문

우아한테크톡

Spring과 SpringBoot의 차이

송민준 2021. 7. 25. 03:20

본 글은 우아한Tech 유튜브 채널을 본 것을 기반으로 정리한 글입니다.

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

 

스프링과 스프링부트의 차이점은 뭘까?

우선 영상을 보기 전에 스프링과 스프링부트의 차이점을 뭘까를 생각해봤는데 크게 떠오르지 않았다...

음 뭐... 디펜던시를 자동으로 관리해주고... 기타 환경설정을 좀 더 편하게 도와주는 느낌...?

역시 제대로 모르고 있다...

 

스프링부트 공식 레퍼런스를 보자.

뭐 간단하게 말해서 boot를 사용하면 최소한의 구성으로 쉽게(makes it easy) 실행 가능한 단독(stand-alone) 스프링 기반 상용화 수준(production-grade)어플리케이션을 만들 수 있다!

 

1. 기존의 레거시 스프링은 모든 dependency를 버전까지 정확하게 해줘야하고 구성을 보면 어어엄~~~청 길다...

반면 스프링부트는 dependency가 짧아졌다! 버전관리도 또한 권장 버전으로 자동 설정해준다.

 

2. configuration이 엄청 간단해졌다. 레거시는 설정 관련된 코드를 다 생성해서 구체적으로 뭘 어떻게 할 것인지 어노테이션 같은 것을 붙여가며 코딩했지만 부트에서는 프로퍼티에서 간단하게 세팅이 가능하다.

(.properties or yml)

ex) 타임리프 세팅 아래는 레거시 일부분

아래는 부트( 메이븐 기준이고... 그레이들은 한줄...)

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

 

 

3. Embedded server(내장 톰켓)

기존에는 톰캣과 같은 was를 가져와서 세팅하고 실행테스트도 해보고 해야하지만 부트에서는 그냥... 실행하면 된다! 물론 톰캣이 싫다면 설정 한 줄로 제티와 같은 것으로 변경 가능하다!

 

가장 큰 장점은 내장 서블릿 컨테이너 덕분에 jar파일로 간단하게 배포가 가능하다!

 

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

 

한마디로 개발자들이 개발에만 더욱 집중하도록!!!

'우아한테크톡' 카테고리의 다른 글

DTO vs VO  (0) 2021.07.28