1.SpringBoot 시작하기
솔루션 회사를 몇년 다니다보니 내가 생각하는 웹서비스 환경의 경험이 적다는 생각이 들어서 A to Z
까지 천천히 따라가면서 조금이나마 경험을 늘릴 수 있는 계기가 되지 않을까 싶어서 서적을 하나 구매해보았다.
이하 포스팅할 내용은 모두 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
라는 책을 읽고 작성한 내용으로 학습한 내용을 정리하기 위함이다.
- 개발환경은 책과 좀 다르다. 시간도 지났고 기존에 사용하던 환경이 있으므로
- openJDK 11
- Gradle 6.7
- IntelliJ 유료버전
1. 인텔리제이로 스프링 부트 시작하기
이미 인텔리제이는 사용하고 있지만 책에서 언급한 이클립스에 비해 인텔리제이가 가진 장점은 다음과 같다.
- 강력한 추천 기능(Smart Completion)
- 훨씬 더 다양한 리팩토링과 디버깅 기능
- 이클립스의 깃(Git)에 비해 훨씬 높은 자유도
- 프로젝트 시작할 때 인덱싱을 하여 파일을 비롯한 자원들에 대한 빠른 검색 속도
- HTML과 CSS, JS, XML에 대한 강력한 기능 지원
- 자바, 스프링 부트 버전업에 맞춘 빠른 업데이트
인텔리제이는 무료버전과 유료버전이 모두 존재하지만 커뮤니티(무료) 버전만 사용하더라도 개발에 큰 지장은 없다. 자바 개발에 대한 모든 기능 및 Maven
, Gradle
과 같은 빌드 도구도 모두 지원한다.
여담으로 둘다 써본 경험에서 불편했던 점은 딱 한가지였는데 임베디드 톰캣이 아닌 외부 톰캣과 연동하는 경우 커뮤니티 버전에선 공식적으로 지원하지 않아서 별도의 플러그인을 설치해서 사용했는데 그게 좀 귀찮았던 기억이 있다.
그리고 이클립스를 쓰다가 인텔리제이로 넘어오면 가장 당황하는 것이 워크스페이스가 없이 프로젝트와 모듈의 개념만 있다는 점이다. 이 말은 인텔리제이는 한번에 하나의 프로젝트만 열린다는 점이다.
Gradle
로 프로젝트 생성
ArtifactId
는 프로젝트의 이름이 된다
그동안 Maven
만 사용해봤는데 Gradle
이 가진 장점과 단점은 무엇인지 추후에 찾아봐서 포스팅 해봐야겠다.
시간이 지나면서 버전이 바뀐 영향인지 프로젝트 생성부터 책과 약간 다르게 진행이 되긴 하는데 또 그래야 더 찾아보고 공부가 되지 않을까 하는 생각도 들었다.
Gradle 프로젝트 생성 완료
Gradle
프로젝트를 springBoot
프로젝트로 변경하기
- 초기
build.gradle
파일
1 | plugins { |
음… 여기서부터 책과 벌써 다르다. 아무래도 책의 출판시점에서 2년이나 지났으니 각종 라이브러리, 도구들의 버전업이 일어나면서 여러 내용들이 바뀐듯 하다.
구글링을 해보니 저자분이 [2020.12.16] 기준으로 최신 라이브러리로 버전업한 내용에 대해 정리해놓은 글이 있어서 해당 내용을 참고하였다.
참고링크 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 (2020.12.16)
변경된 도구들의 버전은 다음과 같다.
라이브러리,도구명 | 출판버전 | 웹버전 |
---|---|---|
Spring Boot | 2.1.7 | 2.4.1 |
Gradle | 4.8~4.10 | 6.7.1 |
JUnit | 4 | 5 |