일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- GrokkingFunctionalProgramming
- web
- template
- 테스트
- 계층형아키텍처
- 코틀린
- 추상화 설계
- 만들면서배우는클린아키텍처
- 아키텍처
- 개발방법론
- Spring
- Kotlin
- Boot Legacy 차이점
- 유지보수
- 책스터디
- 함수형프로그래밍
- 개발서적
- 도메인 주도 개발 시작하기
- 클린아키텍처
- 스터디
- 헥사고날아키텍처
- 이펙티브코틀린
- 테스트주도개발
- TDD
- DDD
- 조영호
- Java
- Thymeleaf
- FP
- 객체지향의사실과오해
- Today
- Total
김동형수 개발기
[Spring] Spring Legacy와 Spring Boot 비교 본문
Intro
오늘은 Legacy Spring과 Spring Boot의 차이점에 대해서 학습한 내용을 정리해보려고 합니다.
기존에 미약하게 알고있던 차이점은 Spring Boot는 설정 내용들이 Pre-set으로 되어있어서 원하는 기능을 선택해서 빠르게 Build-up 할 수 있다라는 장점밖에 없었는데요.
어떠한 차이점이 있는지 자세히 알아보도록 하겠습니다.
※ 언제나 오류 및 개선사항에 대해서는 적극 반영하도록 하겠습니다. 댓글주세요!
Pre-set 설정 모음
maven을 사용한 Spring Legacy 프로젝트 새로 생성할때를 기억을 더듬어볼까요? DB연결이 들어간다면 pom.xml파일에 jdbc관련 의존성 라이브러리 추가를 하고 ORM을 mybatis를 쓴다면 함께 추가해야합니다. 그리고 lombok, junit 등 프로젝트에 추가적인 내용을 설정하려면 pom.xml에 추가를 하고 그에 따른 설정을 xml로 해줘야합니다.
처음부터 Legacy를 구성해본 분들이라면 Spring Legacy 프로젝트 설정으로 삽질 1회 이상은 경험해봤을 겁니다.
그러나 Spring Boot는 많은 사람들이 사용하던 설정 내용을 Pre-set으로 구성해서 제공되므로 https://start.spring.io/ 에서 원하는 의존성 기능들을 추가한 뒤 다운로드 받고 IDE에 Import하면 빠르게 설정내용을 프로젝트에 적용할 수 있습니다.
JetBeans사의 Intellij를 사용해서 프로젝트를 생성할 때는 Spring Initializer탭을 이용해서 생성을 진행하면 https://start.spring.io/과 비슷한 방법으로 프로젝트를 설정할 수 있습니다.
WAS
Spring Legacy 프로젝트를 진행하게 되면 WAS를 설치하고, 설정 하는 등 초기에 적지 않은 시간을 투자해서 WAS를 구성해야 했습니다.
하지만 Spring Boot에서는 내장 WAS가 있기 때문에 별도의 WAS를 설정하지 않아도 JVM 옵션을 Command Line에 입력해서 사용이 가능하다고 합니다.
Spring Legacy와 동일한 기능
Spring Boot는 Spring Legacy와 동일한 기능을 제공한다고 합니다. 정확하게 알지는 못하지만(자세하게 아시는 분들은 댓글로 제게 지식을 전도해주세요.)경량화를 통해서 프레임웍의 퍼포먼스가 향상된 Spring Boot가 나왔고 이는 프레임워크의 기능을 해치지 않는 선에서 이루어진 것 같습니다.
그리고 Spring Legacy가 버전업이되면 Spring Boot도 버전업이 된다고 합니다. 따라서 Spring Legacy의 새 버전에 릴리즈되는 기능이 Spring Boot에도 동작을 한다는 의미로 받아드릴 수 있다고 판단됩니다.
Finish
Spring Boot와 Spring Legacy와 비교를 해봤습니다. 사실 차이점이나 특징을 염두해두지 않고 개발을 한다면 Spring Legacy나 Spring Boot를 이용해서 개발할 때 크게 다른점은 없다고 생각합니다.
프로젝트의 방향성 그리고 프레임워크의 이해가 충분하다면 Legacy나 Boot중 최적의 퍼포먼스를 발휘할 수 있는 프레임워크를 선택하신다면 만족할만한 결과를 얻을 수 있을 것 같습니다.
Reference
https://ellune.tistory.com/m/38?category=769021
'이론정리' 카테고리의 다른 글
[Spring] @RestController, @Controller 차이점 알기 (0) | 2020.04.03 |
---|---|
왜 Spring Framework를 선택할까? (0) | 2020.03.20 |
[Java] Java 8의 새로운 기능 (0) | 2020.02.19 |