일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 방법
- 자바
- aws
- jquery
- 함수
- Security
- error
- JavaScript
- 에러
- Java
- 생성
- IntelliJ
- Spring
- Vue
- 오라클
- 코틀린
- kotlin
- GitHub
- 시큐리티
- 쿼리
- 프로그래머스
- 넥사크로
- 알고리즘
- mybatis
- JPA
- oracle
- Eclipse
- db
- Git
- 스프링
- Today
- Total
송민준의 개발노트
Spring과 SpringBoot의 차이 본문
본 글은 우아한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 등의 다른 스프링 프레임워크 요소를 쉽게 사용!