LoginSignup
3
4

More than 3 years have passed since last update.

STSとSpringBootとGradleでHelloworld

Last updated at Posted at 2019-10-21

STSでSpringBootプロジェクトを作成、HelloWorldの表示まで。

いざプロジェクト作ってみたはいいけどいっぱいファイルある...
どれいじったらいいかわからん..
けどとりあえず動かしてみたい!!!って方(そんな方ぼくの他にいますか?)向けです。

環境構築除けばHelloWorldまで10分~15分くらい(目安)

環境構築

STSのインストール

以下のサイトを参考にしてみてください。
・STS(spring-tool-suite)インストール

STSをインストールしたらGradleのプラグインを入れよう

STSはGradleが標準搭載されていないので、Gradleのプラグインを入れましょう。
まずSTSを起動します。
画面上部から<Help>→<Eclipse Marketplace...>でbuildshipと検索します。
一番上に出てくるBuildship Gradle Integrationをインストールしましょう。
スクリーンショット 2019-10-21 23.43.30.png

いざプロジェクトの作成

STSを起動しましょう。
画面上部から、<File>→<New>→<Spring Starter Project>を選択。
以下のように設定したらnext。
スクリーンショット 2019-10-21 23.53.07.png
次のような設定画面が現れますが、今回はFrequently Usedにすべてチェックを入れてFinish。
(今回はHelloWorldの表示のみですが、データベースを用いることのほうが多いと思われるのでMySQL Driver等にもチェックを入れています。)
スクリーンショット 2019-10-21 23.58.33.png

プロジェクトの実行(この段階ではまだエラーが出ます)

Package Explorerでプロジェクトのフォルダ(Hello)を右クリック、<Run As>→<Spring Boot App>で実行し、Consoleを確認。以下のようになります。
スクリーンショット 2019-10-22 0.08.24.png
classパスを通せと言われますが、今回はデータベースを用いるわけではなくwebの実装がとりあえずできれば良いので別の方法でエラーを回避します。

エラーの回避

src/main/java内のHelloApplication.javaは初期では以下のようになっています。

HelloApplication.java
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloApplication {

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

}

これに下記を付け加え、

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class })

以下のようにすればOKです。
(@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class })のアノテーションを書き込めば自動でimportしてくれます。)

HelloApplication.java
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

@SpringBootApplication
@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class })
public class HelloApplication {

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

}

詳しく知りたい方は以下のサイトを参照してください。
・spring-bootの起動エラー(dbアクセスに失敗か)

こんどこそプロジェクトの実行(再)

コンソールに以下のように表示されれば成功です。
スクリーンショット 2019-10-22 0.23.39.png

HelloWorldしてみる

Controllerクラスの用意

HelloApplication.javaと同じフォルダにHelloController.javaを作成します。
Package Explorerからsrc/main/javaのフォルダを右クリックしてNewからclassを選択し、以下のように設定すればOK.
スクリーンショット 2019-10-22 0.40.56.png
以下のようなファイルができているはずなので

HelloController.java
package com.example.demo;

public class HelloController {

}

以下のように編集します。

HelloController.java
package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloController {

    @RequestMapping("/")
    public String index() {
        return "index";
    }
}

index.html(テンプレートファイルの作成)

HelloController.javaによって呼び出されるindex.javaを用意します。
Package Explorerからsrc/main/resources内のtemplatesを右クリック。
NewからOthers...を選択、WebからHTML Fileを選択し、next。
File nameをindex.htmlとし、Finishで作成完了。
作成したindex.htmlを以下のように編集してあげます。

index.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta http-equiv="Content-Type"
    content="text/html; "charset="UTF-8">
    <title>STSでHello World</title>
</head>
<body>
Hello STS!
</body>
</html>

index.htmlにアクセスしよう(Helloworldしよう)

http://localhost:8080
にアクセスして以下のように表示されれば成功です。
スクリーンショット 2019-10-22 1.02.52.png

以上です。
近いうちに今回扱わなかったデータベース周りをいじってみようと思うので、
またそこらへんについてかけることがあれば書こうと思います。

なにか普通でない点があればコメントいただけると嬉しいです。

読んでくださってありがとうございました。

参考図書

・Spring Boot 2 プログラミング入門(Chapter4まで)

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4