Javaの実行環境を整理してHello Worldする

Javaの実行環境

JavaはOSの差異を吸収する(LinuxでもWindowsでも同じように動作させる)ため、プログラムとOSの間に緩衝地帯を設けた。これがJava仮想マシンJVMJava Virtual Machine)。Javaで作成したソースコードJVMが解釈可能な形でコンパイルされる。
なのでプログラムが直接OSと関わるのではなく、JVMがOSとのやり取りを行う。

Javaの構成

JVMを含め、Javaで記述したプログラムを実行するために必要なものをまとめたセットがJREJava実行環境、Javaランタイムとか呼ばれてもいる)。JREをインストールすることで実行環境を整えることができる。

作成されたJavaプログラムを動かすだけならJREで足りるのだけど、Javaプログラムを開発するためにはJREでは足りない。
開発するためにはJDKをインストールする。JDKにはJREの他に、コンパイラやデバッガなど開発のために必要なプログラムが入っている。

Javaの開発環境構築

JDKをインストールして設定することで開発は行えるけど、効率化の為に統合開発環境IDE:Integrated Development Environmen)も用意する。IDEコンパイル、ビルド、デバッグ、入力補完など便利な機能を直感的に操作することができるため便利。

今回はEclipseを利用する。日本語化を行ったりJDKのインストールだったりを自動で行ってくれる Pleiades All in One(Full Edition) というパッケージをインストールした。

Pleiades All in Oneをインストールすると以下のようなフォルダ構成になっていた。

..\pleiades\
 ├ .metadata.default  …eclipsetomcatの設定ファイル
 ├ eclipse  …eclipse
 ├ java  …JDK
 └ tomcat  …サーブレットコンテナ

Javatomcatはバージョンごとに入ってた。 Eclipseの中を見るとJREも入ってたけどこれは何だろう。Eclipseが使用するデフォルトのJavaは..\pleiades\java\から最新バージョンのものが指定されていたので、eclipse内に入っていたJREは使ってないか、あるいはEclipseを実行する為に使用されているのでしょうかね。

少し脇道にそれるけど、Pleiades all in oneをインストールしたらSTS(Spring Tool Suit)も同封されていた。 STSというのはjavaフレームワークであるSpring Frameworkを使用する為の統合開発環境Eclipseをベースとしたパッケージなので、Eclipseを使う場合でもプラグインとしてSTSの機能を持たせることができるらしい。今回は使用しないので詳細は割愛。

Hello World

プロジェクト、パッケージ、クラスを順に作成したらクラス内に以下のコードを書く。

public class HelloWorld {
    // 以下のように記述されるmainメソッドは特別なメソッド。
    // Javaは実行したクラスからmainメソッドを探して実行する。
    public static void main(String[] args) {
        // 「Hello World!」をコンソールに出力する。
        System.out.println("Hello world!");
    }
}

クラスを指定して実行すると、「Hello World!」と出力された。

Spring Bootでの簡単なwebアプリ開発

JavaフレームワークSpring Framework」はSpring Bootを使用すれば爆速でwebアプリを作ることができる。
CRUDができる簡単なアプリを作ってみた。

f:id:wawanyuum:20220417172725p:plain

作成したのはシンプルな日記アプリ。日付を選択するとDBから日記を取得して下の画面に反映させる。テキストを編集してOKボタンをクリックすると、DBに登録か更新を行う。
ログやセキュリティ対策はまだできていないけど、とりあえず動くものを作れた。