概要
※Javaのバージョンが8で止まっている現場のため、いろいろと新鮮だった
eclipseのダウンロード
Javaを使用して開発を行うためには、基本的にeclipseというツールを使用する。
eclipseは統合開発環境 (IDE: Integrated Development Environment)と呼ばれ、Javaを開発する際のエディタやコンパイラなど必要なものがそろったツールになる。
以下のリンクより、eclipseをダウンロードする。
尚、ダウンロードするものはeclipseと便利なプラグインがセットになっている「Pleiades All in One」が対象になる。
ダウンロードの流れ
手動で行う場合、7zipで解凍することが推奨されている。
圧縮・解凍ソフト7-Zipは、7z、ZIP、RAR、LZH、ISO、TAR、DMG、MSIなど、さまざまなデータフォーマ…
尚、2023の最新版では、解凍したexeファイルをダブルクリックするだけで解凍できる模様。
eclipseの起動
解凍したフォルダ内のeclipse.exeを実行してeclipseを立ち上げる。
workspaceはCフォルダ配下を参照させる。
Spring Bootのプロジェクト作成
Spring initializr
Spring initializrを使用してプロジェクトを作成する。
後で作成したプロジェクトをeclipseにインポートする。
以下の設定内容でSpring Bootプロジェクトを作成する。
Hello Worldする
作成したSpring Bootプロジェクトをeclipseにインポートして「Hello World」を表示させるWEBアプリを作成する。
プロジェクトのインポート
作成したプロジェクトをworkspace配下に移動する。
eclipseからプロジェクトを作成したりインポートする際には、基本的にCフォルダ直下のworkspaceの中に資材を格納する。
Hello Worldをプログラム
GETリクエスト(http://localhost:8080/)が送られてきた際に、「Hello World」を返却するプログラムを作成する。
Demo01Application.java
package com.example.demo01;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class Demo01Application {
@GetMapping("/")
public String index() {
return "Hello World";
}
public static void main(String[] args) {
SpringApplication.run(Demo01Application.class, args);
}
}
「@RestController」をクラスにつけることで、WEBアプリケーションのリクエストを受け付けるコントローラークラスとして設定できる。
「@GetMapping(“/”)」はURLが「http://localhost:8080/」でGETリクエストを受けた際の挙動を紐づけるアノテーションになる。
今回は”Hello World”という文字列をブラウザに返却するコードを記述している。
ブラウザで「Hello World」を表示させる
以下の手順でサーバーを起動する。
サーバーを起動できたら、ブラウザを開いて「http://localhost:8080/」にアクセスする。
補足
Mavenについて
Mavenとはビルドライフサイクルを管理するツールのこと。
ビルドを自動化したり、必要なプラグイン等の管理や資材のダウンロードを行ったりしてくれる。
ビルドとは
ソースコードから実行可能なアプリケーション(WARファイルなど)を作成すること。
ビルドする工程は大きく分けて以下の3つとなる。
②WEBアプリケーションにデプロイするためのWARファイルにまとめる
③WEBアプリケーションサーバにデプロイする
①作成したソースコード(java)をコンパイルしてバイトコード(class)を作成する
作成したJavaのソースコード(.java)をバイトコード(.class)に変換する。
バイトコードはJVM(Java Virtual Machine)上で実行される。
②WEBアプリケーションにデプロイするためのWARファイルにまとめる
コンパイルされたバイトコードや資材を圧縮する。
jsp、Servlet、ライブラリ、静的資材(HTML、CSS、画像等)など、WEBアプリケーションを動作させるためのすべてのファイルがまとめられる。
③WEBアプリケーションサーバにデプロイする
サーバが起動する際に、WARファイルが展開されてJVMがバイトコードを実行する。