Spring bootプロジェクト作成と起動
前提
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