Javaの統合開発環境であるIntellijを使ってMavenでspring-bootプロジェクトを作成するチュートリアルです.
目次
Intelij IDEAで新規プロジェクトを作成する
Spring Initializrを選択肢,Type:でMavenを選択します.
Spring Webを選択します.
ファイル構成を確認する
% tree
.
├── HELP.md
├── mvnw
├── mvnw.cmd
├── pom.xml
├── spring-boot-sample.iml
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── springbootsample
│ │ └── SpringBootSampleApplication.java
│ └── resources
│ ├── application.properties
│ ├── static
│ └── templates
└── test
└── java
└── com
└── example
└── springbootsample
└── SpringBootSampleApplicationTests.java
sayHelloメソッドを追加します
SpringBootSampleApplicationTests.javaを修正して,sayHelloメソッドを追加します.
package com.example.springbootsample;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@SpringBootApplication
public class SpringBootSampleApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootSampleApplication.class, args);
}
@GetMapping("/hello")
public String sayHello(@RequestParam(value = "myName", defaultValue = "World") String name) {
return String.format("Hello %s", name);
}
}
実行します
Run Configurationで実行ボタンをクリックします.
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.0.2-SNAPSHOT)
2022-12-30T17:11:52.790+09:00 INFO 28196 --- [ main] c.e.s.SpringBootSampleApplication : Starting SpringBootSampleApplication using Java 18.0.1.1 with PID 28196 (/Users/takuya/IdeaProjects/spring-boot-sample/target/classes started by takuya in /Users/takuya/IdeaProjects/spring-boot-sample)
2022-12-30T17:11:52.791+09:00 INFO 28196 --- [ main] c.e.s.SpringBootSampleApplication
一行目に警告は出るがエラーは出ません.
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
ブラウザからアクセスする
以下のURLにアクセスします.
http://localhost:8080/hello
最初のSpringBootSampleApplication
クラスの編集の際に,@RestController
のアノテーションをつけ忘れていたため,以下のエラーが出力されました.最初のコードでは既にアノテーションは付与してあります.
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Dec 30 17:17:12 JST 2022
There was an unexpected error (type=Not Found, status=404).
以下のようにControllerとなるクラスに@RestController
のアノテーションが必要です.
@RestController
public class SpringBootSampleApplication {
もう一度アクセスすると,以下のように正常に表示されました.