Spring Initializer로 Hello World
소개
Spring Fest 2020에서 Spring Initializer를 사용하여 프로젝트를 만드는 방법을 소개했습니다.
지금까지 SpringBoot에서의 자발적인 개발에 도전과 좌절을 반복해 왔습니다만, Hello World까지 도착했기 때문에 그 기록을 남깁니다.
환경
아래 준비
Java 설치
Homebrew에서 JDK11을 설치합니다.
설치하면 자동으로 업데이트되므로 버전을 고정하기 위해 tap
명령을 끼웁니다.
$ brew tap AdoptOpenJDK/openjdk
$ brew install --cask adoptopenjdk11
~~
🍺 adoptopenjdk11 was successfully installed!
# brewでインストールしたパッケージにJDKが含まれているか確認
$ brew list
~~ openjdk
# Javaのバージョンを確認
$ java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9.1+1)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode)
# インストールされたディレクトリの場所を確認
$ /usr/libexec/java_home -v 11
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
JAVA_HOME 및 PATH 설정
# 現在の設定を確認
$ export -p
# 設定追加
$ export JAVA_HOME=`/usr/libexec/java_home -v 11`
$ PATH=${JAVA_HOME}/bin:${PATH}
# 追記されているか確認
$ export -p
declare -x JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home"
declare -x PATH="/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin
# sourceコマンドを実行してPATHを通す
$ source ~/.bash_profile
$ which java
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin/java
· GitHub AdoptOpenJDK - HomeBrew TAP
htps : // 기주 b. 코 m / 아도 p와 펜 JDK / 칭찬 브레 w - 오 펜 jdk
· Java 11 (OpenJDK : AdoptOpenJDK)을 Homebrew로 macOS에 설치
htps : // 이 m / 니와사와 /
Maven 설치
마찬가지로 brew로 설치합니다.
$ brew install maven
$ brew list
~~ maven
$ mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec
Java version: 11.0.9.1, vendor: AdoptOpenJDK, runtime: /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"
# setting.xmlを.m2フォルダに移動
$ cp /usr/local/Cellar/maven/3.6.3_1/libexec/conf/settings.xml ~/.m2
Visual Studio Code 설정
확장 기능 install
$ brew tap AdoptOpenJDK/openjdk
$ brew install --cask adoptopenjdk11
~~
🍺 adoptopenjdk11 was successfully installed!
# brewでインストールしたパッケージにJDKが含まれているか確認
$ brew list
~~ openjdk
# Javaのバージョンを確認
$ java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9.1+1)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode)
# インストールされたディレクトリの場所を確認
$ /usr/libexec/java_home -v 11
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
# 現在の設定を確認
$ export -p
# 設定追加
$ export JAVA_HOME=`/usr/libexec/java_home -v 11`
$ PATH=${JAVA_HOME}/bin:${PATH}
# 追記されているか確認
$ export -p
declare -x JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home"
declare -x PATH="/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin
# sourceコマンドを実行してPATHを通す
$ source ~/.bash_profile
$ which java
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin/java
$ brew install maven
$ brew list
~~ maven
$ mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec
Java version: 11.0.9.1, vendor: AdoptOpenJDK, runtime: /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"
# setting.xmlを.m2フォルダに移動
$ cp /usr/local/Cellar/maven/3.6.3_1/libexec/conf/settings.xml ~/.m2
(ぁtps://마르케 tp.ゔぃすあ lsつぢお。 이 m/있어 ms? 있어 m 핥기=vsc그럼 ゔ아. vs 코데 야 ゔ ぁ パ CK)
(ぁtps://마르케 tp.ゔぃすあ lsつぢお。 이 m/있어 ms? 있어 m나메=피ゔぉ타 l. vs 코데 보오 t에서 v 파 CK)
각각 Pack이라는 이름대로 다양한 내포되어 있습니다. 자세한 것은 링크처까지.
Spring Initializr
프로젝트 만들기
htps : // s rt. sp 링 g. 이오/
아래 내용으로 "GENERATE"하면 다운로드 폴더에 zip 파일이 저장됩니다.
VSCode에서 열기
File > Open > 확장된 폴더 선택
DemoApplication.java에 main 메소드가 작성되었습니다.
Hello World
컨트롤러
/src/main/java/com/example
아래에 Controller
폴더 만들기 Controller
폴더 아래에 IndexController.java
만들기 IndexController.java
package com.example.demo.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class IndexController {
@GetMapping("/")
public String index(){
return "Hello World";
}
}
실행
MAVEN 부터
clean
, package
, install
Spring boot dashboard 부터 start
or debug
브라우저에서
http://localhost:8080
성공
Hello World -Thymeleaf
다음은 문자열이 아닌 HTML을 반환할 수 있도록 수정합니다.
pom.xml
dependencies에 다음을 추가하여 재빌드
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>2.4.1</version>
</dependency>
Maven repository - Spring Boot Starter Thymeleaf
htps : // mv 넝마와 ry. 코 m/아 r치후ぁct/오르그. sp 린 gf 라메를 rk. 보오 t / sp 링 g 보오 ts r r thy mea f
컨트롤러
IndexController.java
package com.example.demo.Controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController {
@RequestMapping("/")
public String index(){
return "index"; //returnするHTMLのファイル名
}
}
HTML
/src/main/resources/templates
에 index.html
만들기index.html
<!DOCTYPE html>
<html xmlns:th="http://thymeleaf.org">
<head>
<meta charset="utf-8">
<title>Sample</title>
</head>
<body>
<h1>HelloWorld Thymeleaf</h1>
</body>
</html>
실행
Spring boot dashboard 부터
start
or debug
브라우저에서 http://localhost:8080
성공
만약 아래와 같은 에러가 나오면, .m2/repository하하의 폴더를 모두 삭제해 재빌드를 시험해 보세요. 잠시 멈춰 버렸지만 그 방법으로 해결했습니다.
javax.servlet.ServletException: Circular view path [~]: would dispatch back to the current handler URL [/~] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
Reference
이 문제에 관하여(Spring Initializer로 Hello World), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/e-onm/items/a24e64343997854ad854텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)