Java Maven Intellijでspring-bootのHello Worldプロジェクトを作成する

code html digital coding web 1076536

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 {

もう一度アクセスすると,以下のように正常に表示されました.

参考

よかったらシェアしてね!
目次