1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SpringBootでグループウェアの開発①〜環境構築〜

Last updated at Posted at 2020-01-20

環境構築

先日、久しぶりにSTS4でSpringBootの環境構築した際に、HelloWorldすら出せずにかなり苦戦したので、vscodeで環境を作ることにした。

環境

Ubuntu:16.04.6
VSCode:1.41.1(既に入ってる)
Java:Amazon Corretto 11(java8しかないから、今からインストール)
Gradle:5.6.2(既に入ってる)
Docker:18.09.7(既に入ってる)
Docker-Compose:1.8.0(既に入ってる)
MySQL:8.0(Dockerイメージを今からダウンロード)

Java11のインストールとパス設定

Amazon Corretto 11でdebファイルをダウンロードして、javaのパスを設定。

$sudo dpkg -i java-11-amazon-corretto-jdk_11.0.3.7-1_amd64.deb
$sudo update-alternatives --config java
alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。

  選択肢    パス                                         優先度  状態
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-amazon-corretto/bin/java   11100003  自動モード
  1            /usr/lib/jvm/java-11-amazon-corretto/bin/java   11100003  手動モード
* 2            /usr/lib/jvm/java-8-oracle/jre/bin/java         1081      手動モード
現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 0       
update-alternatives: /usr/bin/java (java) を提供するために自動モードで /usr/lib/jvm/java-11-amazon-corretto/bin/java を使います
$java -version
openjdk version "11.0.3" 2019-04-16 LTS
OpenJDK Runtime Environment Corretto-11.0.3.7.1 (build 11.0.3+7-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.3.7.1 (build 11.0.3+7-LTS, mixed mode)

Docker-ComposeでMySQLイメージをダウンロード

バージョン3で実行したら怒られたので、バージョン2で実行。

docker-compose.yml
version: '2'

services:

  db:
    image: mysql:8.0
    restart: always
    ports:
      - "3304:3306"
    volumes:
      - ./mysql_volume:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_USER: test
      MYSQL_PASSWORD: test

起動確認

$docker-compose up -d
$docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               
be628a63358d        mysql:8.0           "docker-entrypoint.s…"   3 minutes ago       Up 3 minutes        33060/tcp, 0.0.0.0:3304->3306/tcp

VScodeでプロジェクト作成

拡張機能の追加

以下の拡張機能をインストールする。
・Java Extension Pack
・Spring Boot Extension Pack
・Gradle Language Support
・Lombok Annotation Support for VS Code

プロジェクト作成

VScodeを起動して、View→Command Palette→Spring Initializr:Generate a Gradle Projectを選択→Javaを選択→パッケージ名入力→プロジェクト名入力→SpringBootのバージョンの選択→Spring Web,lombok,Spring Devtoolsを選択。

HelloWorldしてみる

DemoApplication.javaと同じ階層にcontrollerフォルダを作成して、その中に以下のLoginController.javaを作成。

LoginController.java
package パッケージ名.プロジェクト名.controller;

import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class LoginController {
    // ログイン画面のGET用コントローラー
    @GetMapping("/login")
    public String getLogin(Model model) {
        // HelloWorldを返す
        return "HelloWorld";
    }
}

htmlを返したい場合はthymeleafなどのテンプレートエンジンを使用する必要があるが、今回はRESTサービスっぽく作ろうと考えているので、テンプレートエンジンは使わない方向で進める。

終わりに

次回はDB接続と一つサービスを完成することを目標に作業する。今日から記事更新とgithubへのコミットを頑張る!
SpringBootでグループウェアの開発②〜DB接続〜
GitHub:MyGroupware

1
3
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
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?