Spring

[Spring]#02 View 환경설정&빌드하기

Noooodle 2024. 1. 9. 19:12

<View>

Spring에서 제공하는 스프링부트 메뉴얼을 잘 볼 수 있어야 한다. static/index.html이 있으면 Webpage 기능을 제공한다.

https://docs.spring.io/spring-boot/docs/current/reference/html/

 

Spring Boot Reference Documentation

The reference documentation consists of the following sections: Legal Legal information. Getting Help Resources for getting help. Documentation Overview About the Documentation, First Steps, and more. Getting Started Introducing Spring Boot, System Require

docs.spring.io

하지만 이는 단지 파일을 보여주는 역할만 할 뿐이라서, 여러 기능을 넣고싶으면 템플릿을 이용해야한다. 우리는 thymeleaf를 사용할 것이다.

템플릿을 이용하기 위해 controller가 필요하다. java폴더 안에 controller라는 패키지를 생성하고, controller역할을 하는 java파일을 만들어주었다. 

그 후 resources 안에 templates라는 패키지를 만들고, hello.html을 생성해서 위와 같은 html코드를 작성했다. 

작동시켜보면

 

 

이렇게 나온다. 

HelloController.java를 실행하면, return "hello";를 하는데, 이 "hello"는 resources:templates에 있는 hello.html이다. 이 hello.html이 열리게 된다.

그때 출력되는 {data}는 오른쪽 이미지의 "hello!!"이다. hello.html에 있는 data는  HelloController.java에 있는 model의 키 값을 의미한다. 그래서 "hello!!"가 아닌 다른 값을 적으면 바뀐 내용이 나올것이다. 그리고 페이지소스보기를 하면 아래와 같이 hello!!로 바뀌어있다.


<빌드하기>

인텔리제이에서 실행중이었다면 중지하고 cmd에서 해당 프로젝트 위치로 이동한다.

윈도우는 gradlew.bat 파일을, 맥은 gradlew파일을 빌드한다. 나는 윈도우라서 gradlew.bat을 썼다.

빌드 후에 build/libs로 들어가서 jar 파일을 실행하면 끝이다.

gradlew.bat build
cd build/libs
java -jar hello-spring-0.0.1-SNAPSHOT.jar

순서대로 진행하고 localhost:8080에 들어가보면..

성공했다!!

간혹 빌드가 안되는 경우가 있는데 높은 확률로 버전문제일 것이다. 인텔리제이 내에서 모든 java의 버전이 17이상으로 되어있는지 확인하고, 환경변수에서 java17로 되어있는지 다시 확인을 해보자. 나는 환경변수가 java15로 돼있어서 계속 빌드가 안됐었다.. 아래 블로그에서 인텔리제이 java 버전 설정을 잘 적어놨다.

https://jojoldu.tistory.com/698

 

Spring Boot 3.x 실행이 안될 경우 (feat. IntelliJ)

스프링 부트 3.0 이 출시되었다. (현재 최신은 3.0.1 이지만) 3.0 부터는 Java 17부터 지원된다. 그러다보니 기존에 Java8, 11등을 사용하시던 분들은 3.x 스프링 부트 프로젝트를 실행할때 에러들을 만나

jojoldu.tistory.com