[스프링 입문] 프로젝트 생성부터 설정까지

김우경·2021년 1월 2일
2

Spring Framework

목록 보기
1/12

김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 보면서 공부한 내용입니다.

프로젝트 생성하기

처음에 스프링을 공부했을때 pom.xml을 직접 수정하고, 톰캣을 연동하고 등등 프로젝트의 초기 설정을 하는 과정 자체가 굉장히 복잡하고 어려워서 포기했었다...

스프링 부트는 톰캣 서버도 내장하고 있고, start.spring.io에서 사용할 스프링 부트의 버전이나 프로젝트 정보, 사용할 dependency 등을 설정하면 자동으로 프로젝트를 생성해줘서 간편하다.

가장 최신 stable버전인 2.4.1와 요즘 추세라는 gradle를 선택했고, 디펜던시는 web프로젝트를 만들기 위해 필수적으로 필요한 Spring web과 이전에 한이음 프로젝트에서 사용했던 타임리프를 선택했다.

Generate를 누르면 끝!

Project Metadata란?

Metadata는 데이터에 대한 데이터, 즉 데이터에 관한 정보를 의미한다. 여기서 Project Metadata는 간단하게 project 정보를 의미한다고 생각하면 될것같다.

강의에 따르면 각각의 요소가 이런 의미를 갖는다고 한다~

Intellij로 프로젝트 열기

자바 버전 설정하기

기존에 깔려있던 버전은 14인데 java 11을 새로 설치하고 이를 프로젝트에 적용해보았다.

설치

설치는 jdk11-downloads여기서!

설정

File > Project Structure > Project > Project SDK에서 사용할 자바 버전으로 선택하면 된다.

build.gradle 뜯어보기

build.gradle은 의존성과 빌드에 대한 정보들을 관리하는 파일이다.
start.spring.io에서 위와 같이 설정했을때의 build.grale은 다음과 같다.

  • sourceCompativility : 자바의 어떤 버전을 쓸지 ?
  • repositories : 아래의 dependency 라이브러리를 다운받을 웹사이트 명시

라이브러리 뜯어보기

아까 start.spring.io에서 spring web과 thymeleaf의 dependency를 추가해서 프로젝트를 만들었다.
프로젝트에서 각자 디펜던시들과 의존관계가 있는 라이브러리 전부 땡겨오는데 라이브러리들은 external library에서 확인할 수 있다.

각 라이브러리간의 의존관계는 인텔리제이에서 우측 Gradle을 클릭하면 확인이 가능하다.

주요 라이브러리는 크게 아래와 같다.

  • spring-boot-starter-web : 톰캣(서버), 웹MVC
  • spring-boot-starter-thymeleaf: 뷰를 담당하는 템플릿 엔진
  • spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로그 (요즘은 주로 logback, slf4j의 두 조합을 사용)
  • spring-boot-starter-test : junit, spring-test 등

View 페이지 만들기

Welcome Page

스프링부트 프로젝트를 실행했을때 가장 처음 뜨는 페이지는 스프링부트가 자동으로 /static/index.html에서 가져온다.

Thymeleaf

사용할 템플릿엔진 Thymeleaf에 대한 매뉴얼은 http://progtrend.blogspot.com/2019/05/thymeleaf.html님의 블로그에 굉장히 잘 정리되어있어서 참고하면 좋을 것 같다!

/templates/hello.html에 띄우고자 하는 html 파일을 작성하고 controller에서 해당 파일 이름을 return
-> 자동으로 /templates아래에서 해당 이름을 가진 html 파일을 찾아서 매핑해준다.

빌드하고 실행해보기

: Terminal에서 빌드하고 실행하는 방법
-> 서버에서 배포할때도 서버에 jar파일 실행시키면 됨

  1. 프로젝트의 gradlew가 있는 위치로 이동

  2. 빌드하기
    ./gradlew build로 프로젝트를 빌드

    빌드되면 build 디렉토리가 생긴 것을 확인할 수 있다.

  3. ~/build/libs에서 생성된 실행파일 실행하기

    java -jar hello-spirng-0.0.1-SNAPSHOT.jar


    실행 완료 ~

-> 완전히 지우고 다시 빌드 ? ./gradlew clean후 다시 빌드




이전에 스프링부트를 공부했을때는 기능 구현하기 급급해서 프레임워크에 대한 이해가 부족했다. 코드를 작성하면서도 속으로 왜?? 계속 질문을 하고는 했는데 내가 궁금해했던 모든 부분을 강의 중간중간 설명해주셔서 너무 좋다 ,, 입문부터 핵심원리 jpa 마스터까지 차근차근 공부해보려고 한다. 화이띵 ㅋ

출처

김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 보면서 공부한 내용입니다.

profile
Hongik CE

0개의 댓글