JavaでWebアプリ制作を学習してみよう。- ブレイクタイム –

JavaでWebアプリ制作を学習してみよう。- Docker MySQL を H2データベースに変更してみる –

JavaでWebアプリ制作を学習してみよう。- Dockerで動作するSpring Boot アプリの開発 –

JavaでWebアプリ制作を学習してみよう。- MySQL CentOS7 on VirtualBox データベースに接続 –

JavaでWebアプリ制作を学習してみよう。- データベースの利用 –

JavaでWebアプリ制作を学習してみよう。- Spring MVC –

JavaでWebアプリ制作を学習してみよう。- Maven or Gradle –

JavaでWebアプリ制作を学習してみよう。-その後-

開発用PC(HP Desktop 400)の HDD を SSD への交換とディスプレイ接続をDisplayport-HDMIに変更した。

JavaでWebアプリ制作を学習してみよう。-開発環境構築編-

ドローン制御の勉強をしてみようーその後

Laravel6でWebアプリ制作を学習してみた。

Webブラウザでマルチタッチ操作できるコントローラーを作成してみています。

WebブラウザからRaspberry Piに接続されたWebカメラで見ながらモーターとLEDを動かしてみた

秋月電子で購入した「0.96インチ128×64ドット有機ELディスプレイ(OLED)」をGR-KURUMIに繋げて動かしてみた。

初めてハッカソンに参加して来ました。

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その2

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その1

mariaDB(MySQL)にLibreOfficeのBASEで繋げてデータベース操作の効率化を図ってみた

windows10にVurtualBox6でUbuntu18.04をインストールしてLAMP環境が使えるようにする

windows10にVurtualBox6でCentOS7をインストールしてほどほど使える環境まで整えてみた

raspberryPiでcakePHPフレームワークを使ってみる

raspberryPiにckaePHPフレームワークを導入してみた。~メモ~

raspberryPiにapache+PHP+mySqlを導入してみた。

秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリにフォントを追加

Monacaを使って作成したandroidアプリを Android Studio と Cordova 開発環境で同じものを作成してみた。

今あるものだけで作ったGPSリアルタイムマップをandroidアプリにしてみた

今あるものだけで作ったGPSリアルタイムマップを車に積んで試してみた

今あるものだけでGPSリアルタイムマップを作ってみた

GR-KURUMI+WIZ550ioシールドを使ってXPORTみたいなものを作ってみた

昔作ったAndroidアプリプログラムを最新の開発環境 Android Studio でビルド&実行を出来るようにしてみた

最新のAndroidアプリ開発環境 Android Studio を入れてみた

自由研究:DisplayTech社製モノクロLCD(128 x 64)を u8g2ライブラリで ME-ESP32に繋げて動かしてみた

自由研究:XY座標モニターを Webアプリ形式(ESP32)で作成してみた

自由研究:XY座標モニターを Webアプリ形式(node.js)で作成してみた

自由研究:秋月電子で購入のSHARP_LCD(400×240モノクロ)を ME-ESP32で動かしてみた 自作ライブラリ使用

自由研究:XY座標動作モニターを Raspberry Pi Zero の電源Onで起動しプログラム終了で電源Offを試してみた

自由研究:Python(Anaconda)を使ってプログラムを作ってみる その11 XY座標動作モニター on Raspberry Pi Zero

自由研究:秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリ使用

XY座標モニタープログラムの開発

自由研究:Raspberry Pi Zero に nodejs 環境を最新にしたメモ

ドローン制御の勉強をしてみようー4回目

自由研究:Raspberry Pi Zero インストールメモ

Python(Anaconda)を使ってプログラムを作ってみる その10 XY座標動作モニター

No Image

Python(Anaconda)を使ってプログラムを作ってみる その9 XY座標動作モニター

JavaでWebアプリ制作を学習してみよう。- ブレイクタイム –

JavaでWebアプリ制作を学習してみよう。- Docker MySQL を H2データベースに変更してみる –

JavaでWebアプリ制作を学習してみよう。- Dockerで動作するSpring Boot アプリの開発 –

JavaでWebアプリ制作を学習してみよう。- MySQL CentOS7 on VirtualBox データベースに接続 –

JavaでWebアプリ制作を学習してみよう。- データベースの利用 –

JavaでWebアプリ制作を学習してみよう。- Spring MVC –

JavaでWebアプリ制作を学習してみよう。- Maven or Gradle –

JavaでWebアプリ制作を学習してみよう。-その後-

開発用PC(HP Desktop 400)の HDD を SSD への交換とディスプレイ接続をDisplayport-HDMIに変更した。

JavaでWebアプリ制作を学習してみよう。-開発環境構築編-

ドローン制御の勉強をしてみようーその後

Laravel6でWebアプリ制作を学習してみた。

Webブラウザでマルチタッチ操作できるコントローラーを作成してみています。

WebブラウザからRaspberry Piに接続されたWebカメラで見ながらモーターとLEDを動かしてみた

秋月電子で購入した「0.96インチ128×64ドット有機ELディスプレイ(OLED)」をGR-KURUMIに繋げて動かしてみた。

初めてハッカソンに参加して来ました。

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その2

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その1

mariaDB(MySQL)にLibreOfficeのBASEで繋げてデータベース操作の効率化を図ってみた

windows10にVurtualBox6でUbuntu18.04をインストールしてLAMP環境が使えるようにする

windows10にVurtualBox6でCentOS7をインストールしてほどほど使える環境まで整えてみた

raspberryPiでcakePHPフレームワークを使ってみる

raspberryPiにckaePHPフレームワークを導入してみた。~メモ~

raspberryPiにapache+PHP+mySqlを導入してみた。

秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリにフォントを追加

Monacaを使って作成したandroidアプリを Android Studio と Cordova 開発環境で同じものを作成してみた。

今あるものだけで作ったGPSリアルタイムマップをandroidアプリにしてみた

今あるものだけで作ったGPSリアルタイムマップを車に積んで試してみた

今あるものだけでGPSリアルタイムマップを作ってみた

GR-KURUMI+WIZ550ioシールドを使ってXPORTみたいなものを作ってみた

昔作ったAndroidアプリプログラムを最新の開発環境 Android Studio でビルド&実行を出来るようにしてみた

最新のAndroidアプリ開発環境 Android Studio を入れてみた

自由研究:DisplayTech社製モノクロLCD(128 x 64)を u8g2ライブラリで ME-ESP32に繋げて動かしてみた

自由研究:XY座標モニターを Webアプリ形式(ESP32)で作成してみた

自由研究:XY座標モニターを Webアプリ形式(node.js)で作成してみた

自由研究:秋月電子で購入のSHARP_LCD(400×240モノクロ)を ME-ESP32で動かしてみた 自作ライブラリ使用

自由研究:XY座標動作モニターを Raspberry Pi Zero の電源Onで起動しプログラム終了で電源Offを試してみた

自由研究:Python(Anaconda)を使ってプログラムを作ってみる その11 XY座標動作モニター on Raspberry Pi Zero

自由研究:秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリ使用

XY座標モニタープログラムの開発

自由研究:Raspberry Pi Zero に nodejs 環境を最新にしたメモ

ドローン制御の勉強をしてみようー4回目

自由研究:Raspberry Pi Zero インストールメモ

Python(Anaconda)を使ってプログラムを作ってみる その10 XY座標動作モニター

No Image

Python(Anaconda)を使ってプログラムを作ってみる その9 XY座標動作モニター

JavaでWebアプリ制作を学習してみよう。- ブレイクタイム –

JavaでWebアプリ制作を学習してみよう。- Docker MySQL を H2データベースに変更してみる –

JavaでWebアプリ制作を学習してみよう。- Dockerで動作するSpring Boot アプリの開発 –

JavaでWebアプリ制作を学習してみよう。- MySQL CentOS7 on VirtualBox データベースに接続 –

JavaでWebアプリ制作を学習してみよう。- データベースの利用 –

JavaでWebアプリ制作を学習してみよう。- Spring MVC –

JavaでWebアプリ制作を学習してみよう。- Maven or Gradle –

JavaでWebアプリ制作を学習してみよう。-その後-

開発用PC(HP Desktop 400)の HDD を SSD への交換とディスプレイ接続をDisplayport-HDMIに変更した。

JavaでWebアプリ制作を学習してみよう。-開発環境構築編-

ドローン制御の勉強をしてみようーその後

Laravel6でWebアプリ制作を学習してみた。

Webブラウザでマルチタッチ操作できるコントローラーを作成してみています。

WebブラウザからRaspberry Piに接続されたWebカメラで見ながらモーターとLEDを動かしてみた

秋月電子で購入した「0.96インチ128×64ドット有機ELディスプレイ(OLED)」をGR-KURUMIに繋げて動かしてみた。

初めてハッカソンに参加して来ました。

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その2

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その1

mariaDB(MySQL)にLibreOfficeのBASEで繋げてデータベース操作の効率化を図ってみた

windows10にVurtualBox6でUbuntu18.04をインストールしてLAMP環境が使えるようにする

windows10にVurtualBox6でCentOS7をインストールしてほどほど使える環境まで整えてみた

raspberryPiでcakePHPフレームワークを使ってみる

raspberryPiにckaePHPフレームワークを導入してみた。~メモ~

raspberryPiにapache+PHP+mySqlを導入してみた。

秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリにフォントを追加

Monacaを使って作成したandroidアプリを Android Studio と Cordova 開発環境で同じものを作成してみた。

今あるものだけで作ったGPSリアルタイムマップをandroidアプリにしてみた

今あるものだけで作ったGPSリアルタイムマップを車に積んで試してみた

今あるものだけでGPSリアルタイムマップを作ってみた

GR-KURUMI+WIZ550ioシールドを使ってXPORTみたいなものを作ってみた

昔作ったAndroidアプリプログラムを最新の開発環境 Android Studio でビルド&実行を出来るようにしてみた

最新のAndroidアプリ開発環境 Android Studio を入れてみた

自由研究:DisplayTech社製モノクロLCD(128 x 64)を u8g2ライブラリで ME-ESP32に繋げて動かしてみた

自由研究:XY座標モニターを Webアプリ形式(ESP32)で作成してみた

自由研究:XY座標モニターを Webアプリ形式(node.js)で作成してみた

自由研究:秋月電子で購入のSHARP_LCD(400×240モノクロ)を ME-ESP32で動かしてみた 自作ライブラリ使用

自由研究:XY座標動作モニターを Raspberry Pi Zero の電源Onで起動しプログラム終了で電源Offを試してみた

自由研究:Python(Anaconda)を使ってプログラムを作ってみる その11 XY座標動作モニター on Raspberry Pi Zero

自由研究:秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリ使用

XY座標モニタープログラムの開発

自由研究:Raspberry Pi Zero に nodejs 環境を最新にしたメモ

ドローン制御の勉強をしてみようー4回目

自由研究:Raspberry Pi Zero インストールメモ

Python(Anaconda)を使ってプログラムを作ってみる その10 XY座標動作モニター

No Image

Python(Anaconda)を使ってプログラムを作ってみる その9 XY座標動作モニター

JavaでWebアプリ制作を学習してみよう。- Maven or Gradle –

2021年3月18日

「Hello World」試した後、改めてsts4の「新規Spring スターター・プロジェクト」を詳しく見ていくことにした。

 

「ファイル」->「新規」->「Spring スターター・プロジェクト」で表示される画面

 

を見ていて目についたのが「型(Type)」の「Maven」or「Gradle」で、「型」って何?って気になってしまった。
そこで早速調べることに。
-> googleさん検索で情報を読みまくる。
ビルドツールに何を使うかということのようだ。特に


上記のネット情報のビルドツールの理解メモの説明で make も書かれており、私はc/c++での開発でmakeやgmakeを使っていたので、「Maven」「Gradle」が何をしてくれるものなのかをなんとなく理解した。
時代とともに「make」->「Ant」->「Maven」->「Gradle」と進化しトレンドが変化してるんだと改めて納得した。
それでもって「Maven」と「Gradle」をより詳しくネットで調べることにした。
-> googleさん検索で情報を読みまくる。

時系列的には「Gradle」が「Maven」より後にリリースされたようだが機能的には大差はなさそうなのでどれを使うかは今のところ使う側の好みのようだ。
「Gradle」の方が使用ライブラリの記述が見やすいように感じた。
だが初心者の私は今はとりあえず最初に表示されている「Maven」を選択して先に進むことにした。

 

「次(N)へ」のボタンで表示される画面

 

これはこれから開発するアプリで使用するライブラリを選択する画面のようだ。
いっぱいあって一つ一つどんなライブラリなのかを調べるのには時間がかかってしまう。
初心者なので最低限必要なライブラリは何かを頭に置きながらネットで調べることにした。
-> googleさん検索で情報を読みまくる。

その結果、

  • 「Web」->「Spring Web」
  • 「開発ツール」->「Spring Boot DevTools」
  • 「開発ツール」->「Lombok」※データクラスへのget/setメソッドを自動生成してくれる。助かる!時短になる!
  • 「テンプレート・エンジン」->「Thymeleaf」※レスポンスでhtmテンプレートレタリングをしたい。LaravelのBradeにあたる!
  • 「SQL」->「MySQL Driver」※データベースにはMySQLが使い慣れていたため。Laravelでいつも使っていたので!
  • 「SQL」->「JDBC API」
  • 「SQL」->「Spring Data JPA」※LaravelのEloquentぽいかなぁ?ちょっと違うかなぁ???
  • 「SQL」->「Spring Data JDBC」

 

を選択することにした。
データアクセス用のドライバについてはどれを選べばよいか判断できなかったため、低レベルAPIの「JDBC API」、中レベルAPIの「Spring Data JDBC」そして高レベルAPIで使いやすいと思われる「Spring Data JPA」を選択した。

余談1:
「Maven」と「Gradle」で新規プロジェクトを生成した際のプロジェクトツリーを比較すると以下のようになりました。


「Maven」の設定は「pom.xml」ファイルに行っていくことになる。
使用ライブラリを増やす場合は

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

「Gradle」の設定は「build_gradle」ファイルに行っていくことになる。
使用ライブラリを増やす場合は

implementation ‘org.springframework.boot:spring-boot-starter-web’

で追加していく。
上記は「Spring Web」ライブラリを追加した場合に記述比較です。

余談2:
後日「JDBC API」「Spring Data JDBC」「Spring Data JPA」のサンプルを作成し動かして色々試してみました。
その結果、まずは「Spring Data JPA」をメインに使って行くことにした。「性能」「柔軟性」には劣るが「使いやすさ」「分かりやすさ」「低工数」を優先した。作成したアプリで「性能」「柔軟性」が必要になった場合に「Spring Data JPA」の置換えを考えることにしよう。と決めた。

 

続きは次回へ。。。。。