[Spring Boot] TIL - 1 개발 환경 설정하기 (점프 투 스프링부트 0-01 ~ 1-05)

하이초·2022년 8월 14일

Spring_Boot

목록 보기
1/11
post-thumbnail

😮 들어가며

곧 첫 프로젝트에서 스프링부트를 사용할 예정이기도 하고
진행하는 자바 스터디에서 스프링부트로 넘어가며 점프 투 스프링부트 위키독스(이하 위키독스)를 활용하여

Spring Boot를 공부하기로 했다!

스프링부트부터 시작해서 프로젝트 완료까지 TIL을 계속해서 작성하려고 한다
프로젝트 뿌수자!

❓ 스프링 부트?

스프링부트는 프레임워크다

프레임워크는 간단하게 말해 웹 프로그램을 쉽게 빠르게 만들 수 있도록 로그인, 페이징, 보안 기능 등이 이미 개발되어 있는,
우리가 필요로 하는 웹 프로그램을 위한 도구와 기능이 대부분 준비되어있는 그것이다!

솔직히 아직도 막 감이 뽝!! 오는 건 아니지만, 이건 내가 쓰다보면 차차 이해가 되겠지 싶다

스프링과 스프링부트의 차이도 궁금했었는데, 스프링부트는 기존 스프링 프레임워크에 톰캣 서버를 내장하고 있는 버전이라고 보면 될 것 같다

🙃 그래서 또 톰캣 서버가 뭔데..?
톰캣 서버는 WAS서버의 일종으로.. 이거는 나중에 서버쪽 TIL을 작성하게 되면 써봐야겠다..

아무튼 그래서 WAS가 이미 내장되어있어 기존 스프링에 비해 우리가 신경 써야 할 것이 또 현저히 줄었다!!!! 하고 넘기면 될 것 같다 ㅎ
더하여 다른 WAS를 사용할 수도 있다고 한다 (쩌네)

🔥 개발 환경 설정

위키독스 1장을 참고하여 개발 환경 설정을 진행했다

IDE는 위키독스에서는 STS를 사용하나,
나는 42seoul student 계정으로 인텔리제이 ultimate 버전이 사용 가능하여
인텔리제이를 계속 활용하기로 했다.

일반 community 버전으로는 스프링부트 지원이 안된다고 하던데, 행-복
(42seoul 압도적 감사..!)


STS와 화면 구성이 조금 다르기 때문에 이걸 찾아가면서 하다보니 안그래도 느린 속도가 더 느려졌다 🥲 무슨 버전부터 공부를 하고 있어... 큰일이다.. 큰일이야..

아무튼 다음 설정 시 조금이라도 수월한 설정을 위하여 기록!

1. 프로젝트 생성

- Spring Initializr


Name: 프로젝트 이름
Language: 사용 언어
Type: Gradle
Group: com.그룹 이름
Artifact: 기본적으로 프로젝트 이름과 동일한 것 같다
Package name: com.그룹 이름.프로젝트 이름
JDK: 설치되어 있는 JDK 설정
Java: 11
Packaging: Jar

처음에는 이정도만 설정해주면 되는 것 같다

아직 type, artifact, java, packaging에 대한 이해는 없지만 그것은 차차 알아나가는 것으로!

type의 경우 maven보다 gradle이 더 진화한 버전이라고 어디선가 본 것 같다
Java 버전은 18로 해야할지, 17로 해야할지, 11로 해야할지 고민했는데,
일단 참고문서가 11로 진행하고 찾아보니 이것도 26년인가까지 지원을 하며 현재 많이 사용하고 있는 버전인 거 같아 나도 그냥 따르기로 했다
Packiging에 대해서는 아는 바 전혀 없음

- Dependencies


Spring Boot DevTools: 소스 변경 발생 시 자동 빌드를 통해 반영 결과를 재빌드 없이 확인 할 수 있게 해주는 툴
Lombok: getter, setter, toString 등 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리
Web: 웹 프로그램 개발을 위해서 꼭 선택해야 함

이것도 역시 아직 정확한 내용은 잘 모른다 일단은 따라하기!

위키독스에서는 Spring web만 추가하고 이후에 Devtools를 추가해 주는 데 굳이 그럴 필요가 없을 거 같아 처음부터 선택하고 넘어갔다
그러면 build.gradle에 dependencies를 따로 추가해주지 않아도 알아서 추가되어있다
그치만 여기서 dependencies를 추가하면 된다는 것을 알아두면 좋을 것 같다

Devtools의 경우 developmentOnly 'org.springframework.boot:spring-boot-devtools'와 같은 의존성이 추가되는데,
이는 개발 환경에만 적용되는 설정으로 실제 배포되는 jar, war 파일에는 developmentOnly로 설치된 라이브러리는 제외된다!

또한 의존성 추가 외에 인텔리제이에서는 추가적으로 설정해 주어야 하는 것들이 또 있다


찾아본 정보들에서는 인텔리제이 - file -setting에 있다고 하던데 나는 싹다 preference에서 찾았다

먼저 Build, Execution, Deployment -> Compiler 탭에서
Build project automatically를 선택해 준다

그 다음 Advanced Settings 탭에서 Allow auto-make to start even if developed application is currently running 을 선택해주면 진짜 끝이다

세팅만 했는데 지치는거 실화인가?
profile
개발국대가 되는 그 날까지. 지금은 개발 응애.

0개의 댓글