남은 방학동안 무엇을 할까 하다가 백에 슬며시 입문해보기로 했다
https://product.kyobobook.co.kr/detail/S000201766024
동기가 빌려준 "스프링부트3 백엔드 개발자 되기 - 자바편" 을 2주간 훑어볼 예정이다
0장. 개발 환경 구축하기
0장에서는 인텔리제이 설치 후 스프링 프로젝트 생성 / 포스트맨 설치 등의 기초작업을 한다
그치만 역시 책처럼 모든게 한번에 설치되지 않았슴
인텔리제이에서 그레이들 프로젝트를 스프링부트3 프로젝트로 바꾸는 과정에서, build.gradle 파일을 수정하고 새로고침을 눌렀을 때 에러가 발생했다. 이번 에러는 현재 jjvm 버전이 17보다 낮아서 생긴 문제였다
- IntelliJ 프로젝트 SDK 설정 변경:
- IntelliJ에서 File > Project Structure 메뉴로 이동합니다.
- Project 탭에서 Project SDK를 Java 17로 변경합니다.
- Modules 탭에서도 각 모듈의 SDK가 Java 17로 설정되어 있는지 확인합니다.
- Gradle JVM 변경:
- IntelliJ에서 File > Settings > Build, Execution, Deployment > Build Tools > Gradle로 이동합니다.
- Gradle JVM을 Java 17로 설정합니다.
이 두가지를 해주었더니 해결되었다
책에선 학습을 위해+커뮤니티 버전이라서 그레이들 프로젝트를 생성하여 스프링부트3으로 바꾸는 방식을 설명하는 것 같은데, 바로 스프링부트3 프로젝트를 생성하는 방법도 궁금했다.
서치해보니 https://start.spring.io/ 라는 사이트에서 프로젝트를 생성하여 받아 쓸 수 있다고 한다. (인텔리제이 커뮤니티 버전의 경우)
* build system의 그레이들 vs 메이븐 : 소스코드를 이용해서 실행 가능한 애플리케이션을 생성하는 과정을 자동화하는 프로그램(빌드도구) - 의존성 내려받기, 코드 패키징, 컴파일, 테스트 실행 등이 포함되어 있다. 책에 의하면 요즘은 그레이들을 많이 쓰는 추세라고 한다. (메이븐에 비해 가독성 좋고 설정 간단, 빌드와 테스트 속도가 더 빠르다고 한다)
https://dev-coco.tistory.com/65
이후 위 사진과 같이 미리 생성된 me.jh 패키지 밑에 새 패키지를 생성하고 (이름은 그룹이름.프로젝트이름), 이 패키지에 스프링부트를 실행할 java 용도의 클래스를 만든다. 모든 프로젝트엔 메인 클래스가 있어야하고, 우리는 방금 만든 클래스를 메인 클래스로 사용하기 위해 코드를 작성한다.
만약 실행과정에서 ~finished with non-zero exit value1 과 같은 오류가 생기면 위의 설정에서 buildand run using, run tests using을 모두 gradle(default)에서 intellij iea로 바꾸면 된다.
그리고 또다시 마주한 에러
*************************** APPLICATION FAILED TO START ***************************
Description: Web application could not be started as there was no org.springframework.boot.web.servlet.server.ServletWebServerFactory bean defined in the context.
라는 에러가 발생했다. 서치해본 결과 @SpringBootApplication 애노테이션을 붙이지 않아서 발생한 거였다
*@SpringBootApplication 애노테이션이란?
먼저 애노테이션이란, 사전적 의미로는 주석이라는 뜻이다. 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다. 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다. (meta data : 데이터를 위한 데이터) 애노테이션의 주요 역할은 정보제공, 컴파일러 지시, 런타임 처리 등이다.
@SpringBootApplication 애노테이션은 스프링 부트 애플리케이션을 정상적으로 시작하는 데 필요한 핵심 설정을 포함하고 있기에, 메인 클래스에 붙여주지 않으면 에러가 난다.
아무튼 스프링부트3 애플리케이션 실행까지 성공했다.
*단축키 소개
컨f : 현재 파일에서찾기
컨+shift+f : 전체 파일에서 찾기
컨+r : 현재 파일에서 바꾸기
줄복사 : 컨d
shilt+f10 : 실행
shift+f9 : 디버그 모드로 실행
shift+컨+alt+t : 리팩토링
컨+alt+o : 사용 안하는 임포트문 삭제
shilt+ctrl+t : 테스트 생성/이동
'dev > 백엔드' 카테고리의 다른 글
스프링 스터디 1주차 (0) | 2024.10.04 |
---|---|
gdg on campus ewha - Spring WIL 2주차 (0) | 2024.09.24 |
gdg on campus ewha - Spring 1주차 WIL (1) | 2024.09.17 |
백엔드 입문하기 : 2장 스프링부트3 시작하기 (0) | 2024.08.18 |
백엔드 입문하기 : 1장 사전지식 (0) | 2024.08.17 |