본문 바로가기
3.1 SpringBoot/SpringBoot 강의정리

1-1. 프로젝트 환경설정 (Spring 프로젝트 생성 , 라이브러리, View)

by Dohi._. 2023. 5. 7.
728x90

목차

  1. Spring 프로젝트 생성
  2. 라이브러리
  3. View 환경설정
  4. View 정리
  5. 빌드하고 실행하기

 

1. Spring 프로젝트 생성

전 게시물에서 말한 https://start.spring.io/  을 사용합니다

제가 사용한 설정 (강의에선 java 11버전 Spring Boot 2.x.x)
Project   : Gradle-Groovy
Language : Java

Spring boot : 3.0.6

java : 17

Dependencies :spring web,Thymeleaf (ADD DEPENDNCIES에서 spring web,Thymeleaf를 불러옵니다)

맨아래 왼쪽에 있는 GENERATE를 누르면 zip파일 형식으로 다운로드 됩니다!

 

ZIP파일은 스프링 부트 스타터 사이트에서 만든 스프링 프로젝트입니다.

 

압축을 풀고나서 

intellij에서 build.gradle를 오픈을 합니다 

오픈후에 많은 다운로드및 설정이 진행되고 마무리된다. (마무리하고 Gradle JDK설정의 1번은 하는 것을 추천한다)

 

설정진행하다가 Error가 뜬다면..?

( 설치한 OpenJDK와 부트스타터사이트에서 설정한 Java 의 버전이 동일하다고 할경우)

1) Intellij JDK 설치확인 

왼쪽 위에 있는 File -> Project Structure 에서 

Project Settings -> project에서 SDK를 필요한 JDK로 지정해줍시다.

 

 

2) Gradle JDK 설정

File -> Settings

  1.  Gradle가 기본설정인데 실행 속도가 느리기떄문에 다음과 같이 설정해놨다.
  2.  Gradle의 SDK설정이 잘되어있는지 확인하기 바란다.(필자는 zulu-17을 사용하기에 설정확인을 했다)

 

그후 문제가 생긴 에러코드에서 우클릭후 다시 돌려보면 재설정및 재설치가 되어 라이브러리등 설치가 됨을 알수있다 .

 

 

sourceCompatibility = '17'

( build.gradle의 이부분을 확인하여 자신이 사용하는 위에서 설정한 버전과 같은지 확인하고

  다를경우 프로젝트를 다시 만들거나 JDK를 재설치한다.) 

 


2. 라이브러리

Gradle은 의존관계가 있는 라이브러리들을 함께 다운로드한다.

 

스프링 부트 라이브러리

  • Spring-boot-starter-web
    • spring-boot-starter-tomcat: 톰캣 (웹서버) 
    • spring-webmvc: 스프링 웹 MVC
  • spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View) 
  • spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
    • spring-boot
      • spring-core
    • spring-boot-starter-logging 
      • logback, slf4j

 

테스트 라이브러리

  • spring-boot-starter-test
    • junit: 테스트 프레임워크
    • mockito: 목 라이브러리
    • assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
    •  spring-test: 스프링 통합 테스트 지원 




3.  View 환경설정

 

스프링부트가 제공하는 Welcome Page기능을 이용해서 Welcome Page를 만들었습니다.

scr/main/resources/static에 

html파일을 하나만들어줍니다
필자는 index.html 를 생성했습니다

 

<!DOCTYPE HTML>
<html>
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p>안녕하세요 Dohi입니다 </p>
<a href="/hello">안녕안녕하세요:)</a>
</body>
</html>

그후 run을 실행시킨후에 확인해본다


여기서 error가 뜨는 사람이 있다면 아래와 같은 코드인경우 해결방안을 이와같습니다

Description:

Web server failed to start. Port 8080 was already in use.

Action:

Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.


Process finished with exit code 1

 

해결방안

1) 8080을 할당중이여서 빼앗기

cwd에  netstat -ano | findstr :8080
입력하여 사용중인 PID확인후 제거하기 

필자는 .. 학교과제로 사용해야하는 프로그램이 선점했기 때문에 다른 방법으로 우회했습니다.

4744가.. 필요한 친구여서 강제로 가져오지를 못한다..

2) 우리가 피해서 8081을 사용하기

여기있는 application.properties에 서버 포트값을 변경해준다 

없을경우 추가를해서 만들어준다

server.port=8081

그러고 다시 run을 하면 정상적으로 돌아갈 것이다


localhost:8080을 주소창에 입력해서 확인한다  (위에 필자처럼 오류가 있는경우로 우회한경우는 8080이 아닌 8081로한다)

결과물 

이렇게 보인다.

 

 


4. View 정리


스프링 부트가 제공하는 Welcome Page 

 thymeleaf 템플릿 엔진

: loop를 쓰거나 모양을 바꿀 수 있다.

thymeleaf 템플릿엔진 동작 확인

 

  • 내장 톰켓 서버를 통해 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버(viewResolver)가 화면을 찾아서 처리한다.
  • 스프링 부트 템플릿엔진 기본 viewName 매핑
  • resources:templates/+{ViewName}+.html

위에서 저와 같은 방법으로 포트를 변경한 경우는입니다:)

http://localhost:8081/hello

 


 

5. 빌드하고 실행하기 (윈도우기준)

 

우선 Cmd창을 킵니다.

   1. gradlew.bat build        (추가내용 + )  ./gradlew build (리눅스혹은 git bush 맥 사용자)
   2. cd build/libs
   3. java -jar hello-spring-0.0.1-SNAPSHOT.jar
   4. 실행 확인

 

 

 

cmd창에서 파일이 저장되어있는 폴더까지 들어갑니다!
gradlew.bat build 입력후 

입력후 생기는 모습!

위에 빌드가 끝나면 아래처럼 빌드파일이 생깁니다.

build가 생겼다!

build파일 안에 있는 libs파일로 들어간다 

그후 java -jar hello-spring-0.0.1-SNAPSHOT.jar 입하면 실행이된다 (실행하기전 intellij에서 run되어있는지 확인)

(에러가 뜨셨다면 0. Spring start ( Intellij 설치 ,spring.io )의 JAVA_HOME설정!확인)

build파일에 libs를 들어간 후에 파일 생성된것을 확인하는 모습

 

 

java -jar hello-spring-0.0.1-SNAPSHOT.jar을 입력하요 스프링이 작동하는 모습
!작동되었다!

 

+)
build는 어떻게 지우나요!

 

gradlew.bat clean 또는 gradlew.bat clean build

둘의 차이점

프로젝트 빌드 제거 gradlew.bat clean

제거와 동시에 새로운 빌드 gradlew.bat clean build

 

+추가내용)  ./gradlew clean    ./gradlew clean build    (리눅스혹은 git bush 맥 사용자)

왼쪽  gradlew.bat clean   오른쪽 gradlew.bat clean build

 

왼쪽엔 build파일이 없고 오른쪽에는 build파일이 있는것이 확인된다!

 

이렇게 프로젝트 환경설정을 배워봤습니다 !

728x90

댓글