🐕

Spring bootプロジェクト作成と起動

2023/02/15に公開

前提

mac環境でintelijがインストールされていると共に、java(17)をインストールし終えて実行できる環境になっている前提で話を進めます。

Spring bootプロジェクトの新規作成

Spring InitializrにてSpring Bootのプロジェクトの雛形となるものを作成する。

ProjectはGradle-Grovyを選択しLanguageはjavaを選択します。
Spring Bootのバージョンは、3.0.2がデフォルトで選択されているのでそのままにします。
Project Metadataなどは適宜設定を行なってください。
DependeciesはSpring bootを選択しておきます。
一通り入力したらSENERATEをクリックし、プロジェクトをローカルのマシンにdownloadします。

Spring bootの起動

プロジェクトをダウンロードしたらintellijを使いプロジェクトを開きます。
まず、画面のopenを押します。

finderからdownloadしてきたプロジェクトを選択します。そしてopenをクリックし開きます。

IntelliJ IDEA では、プロジェクトのソースがわからない場合にプロジェクトを開く方法を問われるので、今回の場合はTrust Projectを選択しプロジェクトを開きます。

プロジェクトを開くと、Gradleデーモンが走るのでしばらく完了するまで待ちます。

矢印のところからSpring bootを起動することができるのでRun SampleApplicationを押して実行します。

無事起動するとEditorのconsoleに以下のようなログとバーナが表示されます。


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.0.2)

2023-02-15T22:21:56.887+09:00  INFO 5581 --- [           main] nogulab.com.sample.SampleApplication     : Starting SampleApplication using Java 17.0.5 with PID 5581 (/sample/build/classes/java/main started by daiki.noguchi in /sample)
2023-02-15T22:21:56.891+09:00  INFO 5581 --- [           main] nogulab.com.sample.SampleApplication     : No active profile set, falling back to 1 default profile: "default"
2023-02-15T22:21:57.746+09:00  INFO 5581 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2023-02-15T22:21:57.761+09:00  INFO 5581 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-02-15T22:21:57.761+09:00  INFO 5581 --- [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.5]
2023-02-15T22:21:57.852+09:00  INFO 5581 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-02-15T22:21:57.855+09:00  INFO 5581 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 917 ms
2023-02-15T22:21:58.327+09:00  INFO 5581 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2023-02-15T22:21:58.338+09:00  INFO 5581 --- [           main] nogulab.com.sample.SampleApplication     : Started SampleApplication in 1.847 seconds (process running for 7.632)

起動はしましたがこのままだと、コントローラなどを定義していないため現状何もアクセスできないので、簡単な文字列を返すコントローラを定義したいと思います。

SpringBootApplicationアノテーションがあるクラスにコントローラを定義していきます。
本来は別のパッケージを作成し、コントローラクラスなどを新たに定義する方が良いでしょう。今回は簡単な確認のためSpring Bootのアプリケーションクラスに記述します。

package nogulab.com.sample;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class SampleApplication {

	public static void main(String[] args) {
		SpringApplication.run(SampleApplication.class, args);
	}

	@RequestMapping("/")
	String home() {
		return "Hello World!";
	}
}

追記し終えたら再実行を行い、PCのブラウザにて127.0.0.1:8080でアクセスを行います。
そうすると以下の画面が表示されると思います。

今回はここまでになります。次回はコンテナ化の話をしていこうと思います。

Discussion