스프링 공부/인프런 김영한 스프링 입문 노트정리

1-1. 프로젝트 생성

모항 2022. 7. 22. 01:24

사전 준비물

자바와 IDE 설치부터 시작한다.

자바는 설치되어있으므로 넘어가고 IDE인 IntelliJ를 설치했다.

나는 지금까지 Eclipse를 사용해왔는데, 강사님의 말에 따르면 IntelliJ는 한 번 쓰면 Eclips로 돌아가지 못할 정도로 편하다고 한다.

앞으로 수업을 듣는 데에도 강사님과 같은 IDE를 쓰는 것이 편할 것 같아 IntelliJ를 깔았다.

 

 

 

스프링 부트

예전에는 스프링 프로젝트를 시작할 때 개발자가 일일이 다 손을 봐주었지만,

요즘은 스프링 부트라는 것을 사용해 프로젝트를 시작한다고 한다.

아래의 사이트로 들어간다.

https://start.spring.io/

먼저 Maven과 Gradle은 필요한 라이브러리를 땡겨오는 것, 빌드 등의 라이프사이클까지 다 관리해주는 툴이라고 한다. (아직 무슨 말인지 잘 모르겠지만 일단 이렇게 설명해주셨음)

예전에는 Maven을 많이 썼는데 요즘엔 거의 다 Gradle을 쓴다고 한다.

 

Language는 자바로 선택하면 된다.

 

Spring Boot 이하의 선택지들은 버전이다. 뒤에 괄호가 붙은 것들은 아직 개발 중이거나 정식 release되지 않은 것들이라고 한다. 따라서 괄호가 붙지 않은 것들 중 가장 최근의 버전을 선택하면 된다.

SNAPSHOT이 아직 개발 중인 버전이고, M과 숫자가 붙은 것은 정식 release되지 않은 버전인 것 같다.

 

다음은 메타데이터이다.

Group은 자신의 기업이 사용하는 도메인 등을 적는 곳이라고 한다. 우리는 그런 게 없으니까 hello라고 적었다.

Artifact와 Name은 지금으로선 프로젝트 이름과 유사한 것이라고 보면 된다. hello-spring이라고 적었다.

나머지 메타데이터는 그대로 두었다.

 

 

그 다음 Dependencies를 설정한다.

일단 우리는 웹 어플리케이션을 만들 것이므로 Spring Web을 선택해주고,

html template engine인 Thymeleaf을 선택한다.

 

다크모드가 있길래 켰다.

여기까지 하면 끝이다. Generate를 누른다.

받아진 압축 폴더를 원하는 디렉토리에 옮긴 뒤 압축을 푼다.

그 다음 이 폴더를 IntelliJ에서 연다.

 

 

PyCharm과 매우 비슷하다

처음 실행했기 때문에, 우측 하단을 보면 패키지들을 다운받고 있다. 다 받는 데 꽤 오래 걸린다.

 

레포지토리 구성이 신기하고 마음에 든다.

일단 가장 위의 gradle 폴더들은 gradle 관련 파일들이니까 넘어가고

우리가 다루는 코드들은 src에 들어있다.

src 폴더를 열어보면 main과 test 폴더가 있다!

main은 대충 예상할 수 있듯이 실제 프로젝트 코드들을 담는 곳이고

test가 기본적으로 처음부터 준비되어있다는 점이 신기하다.

그만큼 요즘 개발 트렌드에서 테스트 코드가 중요하게 여겨진다는 의미라고 강사님께서 설명해주셨다.

 

main과 test 내부에는 java 코드 파일들이 들어가는 java 폴더가 있다.

main 내에는 java 외의 모든 파일들(static과 html 포함)이 들어가는 resources 폴더도 있다.

 

build.gradle을 열어본 화면이다.

아까 스프링 부트에서 설정했던 여러 정보들이 보인다.

group이름에 hello가 들어가있고,

sourceCompatibility는 프로젝트가 최적으로 대응하는 자바 버전인 것 같다. 강사님 화면에는 11로 되어있는데 나는 17이다.

mavenCentral()은 라이브러리 파일들을 어디에서 다운받는지를 명시해놓은 거라고 한다. 우리가 원하는 특정 웹사이트의 주소를 여기에 넣어도 된다고 한다.

dependencies에는 아까 우리가 선택해준 Thymeleaf와 spring web이 들어있고, test 관련 라이브러리도 기본으로 들어가있다.

 

오... 깃이그노어의 내용도 이미 다 채워져있다. start.spring.io 개좋네...

깃헙에는 소스코드만 올라가야 하고, 빌드된 결과물들은 올라가면 안 된다고 한다.

 

main 폴더 안에 만들어져있는 java 파일을 열어보았다.

장고에서 파이썬 보다가 여기서 자바 보니까 너무 편안하다.

근데 뭔가 이상하다. 빨간 줄로 오류가 표시되고 프로젝트의 JDK가 정의되어있지 않다는 문구가 뜬다.

바로 구글링해준다. 아래 사이트에 답이 나와있다.

https://code2care.org/q/project-jdk-is-not-defined-intellij-idea

 

메시지 바 우측의 버튼을 눌러 JDK를 지정해주면 된다고 한다.

 

잘 되어서 초록색 체크표시가 떴다.

 

이제 강사님을 따라 main 메소드 좌측의 초록색 실행 버튼을 누른다.

강사님이 말씀하신 포트번호가 여기 있다.

 

포트번호를 적어 접속하면 이런 오류페이지가 뜬다. 아직 아무것도 안 했으니 이렇게 뜨는 게 정상이라고 한다.

정지 버튼을 눌러 동작을 멈추고

다시 들어가보면 아예 연결 자체가 안 된다.

 

 

 

여기까지 하면 준비를 잘 한 것인데, 아직 끝이 아니다. 한 가지 설정을 확인해줘야 한다.

Preferences 창을 열어 gradle을 검색한다.

내 경우에는 Preferences 대신 Settings가 있었다.

메인 코드와 테스트 코드를 빌드하고 실행할 때 사용할 것을 Gradle이 아닌 IntelliJ IDEA로 바꿔준다.

 

이렇게 하면 빌드 및 실행 시에 Gradle을 거치지 않고 바로 IntelliJ 상에서 실행이 되기 때문에 훨씬 빠르다고 한다.

'스프링 공부 > 인프런 김영한 스프링 입문 노트정리' 카테고리의 다른 글

2-1. 정적 컨텐츠  (0) 2022.07.24
1-4. 빌드하고 실행하기  (0) 2022.07.23
1-3. View 환경설정  (0) 2022.07.23
1-2. 라이브러리 살펴보기  (0) 2022.07.23
0. 강의 소개  (0) 2022.07.19