System.out.println("Java学習中");

【Java / Spring Boot】UI/UXの視点を活かしたバックエンド開発の学習ポートフォリオ

【Java初心者の冒険録】VSCodeでSpring Bootの初心者キットを開き、MySQL(MAMP)と連携しよう!

🟢 はじめに

前回の記事では、Spring Initializrというギルド窓口で、オリジナルアプリのベースとなる「初心者キット(Zipファイル)」を手に入れました。

前回の記事はこちら👇

blog.kenichikamoi.com

今回は、その初心者キットを開き、「データベース(MySQL)」と連携してアプリを起動させるところまでを解説します。

これからJavaアプリを作ってみたい!という初心者の方の参考になれば幸いです🙌


🟨 IDEは使い慣れた「VSCode」でもOK

ダウンロードしたZipファイルを解凍したら、プログラミングを行うためのソフト「IDE(統合開発環境)」で開きます。

JavaといえばEclipseIntelliJ IDEAがIDE(統合開発環境)の定番だと思います。

RPGで例えるなら、それぞれのIDEにはこんな特徴があります。

🔹Eclipse / IntelliJ IDEA

Java専用に特注された、強力な魔法の杖と重装備🧙‍♂️

受託開発など、バックエンド専任の現場(ギルド)で非常に多く採用されている伝統的な装備です。

🔹VSCode (Visual Studio Code)

「どんな冒険にも対応でき、自分好みにカスタマイズできる」

動作が軽く、Web制作で使うHTML/CSSとの相性も抜群です。

私はWebデザインの学習でVSCodeを使い慣れていたため、今回のポートフォリオ制作もVSCodeを相棒に選びました。

フロントエンドの知識を活かしながら画面を作る場合VSCodeは非常に強力な味方になります。


🛡️ 将来に向けたワンポイントアドバイス

まずは使い慣れているIDEでポートフォリオを完成させるのが一番スムーズです。

ただ、将来的に開発現場に入った時、標準ツールが「IntelliJ IDEA」などに指定されていることがよくあると聞きます。

アプリが完成して余裕ができたら、同じプロジェクトをIntelliJ IDEA(無料版)で開いてみる経験をしておくと、実務への適応力が上がると思います。


🟦 VSCodeを「Java専用の魔法陣」に強化する手順

デフォルトのVSCodeに、Spring Bootの魔法を使えるように以下の2つの「拡張機能」をインストール(装備)します。

🔹Extension Pack for Java (Microsoft公式)

Javaのコードを自動補完してくれる基本セット。

🔹Spring Boot Extension Pack (VMware公式)

Spring Boot専用のサポート機能。設定ファイルを書くのが劇的に楽になります!

これで、VSCodeJava開発環境に進化しました✨


👾 待ち受ける「最初の罠」:DataSourceエラー

VSCodeでフォルダを開き、TaskAppApplication.java というファイルを開いてみてください。

ここにある public static void main(String[] args) が、このアプリを起動するための「一番最初の入り口(お城の正門)」です。

TaskAppApplication.java

文字の上のほうに小さく「Run」 という再生ボタンが出現していれば、拡張機能が完璧に動作している証拠です。

「よし、さっそくRun(実行)を押してみよう!」と試してみたいところですが、今そのまま実行ボタンを押すとエラーが起きてしまいます。

なぜなら、初心者キットの中に「データベースを操作する魔法と鍵(Spring Data JPA / MySQL Driver)」を入れたため、アプリが起動した瞬間に「データベースはどこ!?鍵穴が見つからない!!」とパニックを起こしてしまうからです。

初心者が落ち入りやすい罠だと言われています。


⛺ データベースの準備(MAMPの活用)

このパニックを鎮めるためには、MySQL(データベース)の準備が必要です。

私は職業訓練校でWordPress(PHP)を学んでいた際に、「MAMP(マンプ)」というツールを導入していました。

MAMPWebサーバーとデータベースがセットになった「冒険に便利なポータブル・キャンプセット」のようなものです。

これを使えば、一からMySQLをインストールする手間が省けます。

「MAMPって何?」「どうやってインストールすればいいの?」という方は、こちらの記事で解説しています👇

blog.kenichikamoi.com


MAMPを開くと、右上のアイコンが以下のようになっていると思います。

Apache Server 🟢(起きている)

MySQL Server ⚪(眠っている)

「MySQL Server」が眠った状態


⏰ MySQLを叩き起こす!

1️⃣ 右側の電源ボタン(今は「Stop Servers」になっていると思います)をクリックして、両方のサーバーを完全に止めます。

2️⃣ 数秒待ってから、もう一度電源ボタン(「Start Servers」に変わります)をクリックします。

3️⃣「Apache Server」と「MySQL Server」の両方が🟢(緑色)になるのを確認してください。

「Apache Server」と「MySQL Server」の両方が🟢(緑色)


🎁 新しい宝箱(データベース)を作る

両方が緑色になったら、MAMP「Open WebStart page」から「Tools」>「phpMyAdmin」という管理画面を開きます。

MAMPの「Open WebStart page」

「MAMP」

「phpMyAdmin」

左上の「新規作成」から、アプリ専用のデータベース(例:task_app_db)を作成すれば、データベースの準備は完了です!

「新規作成」からデータベースを作成する


🟨 Spring Bootにデータベースの場所を教える

データベースができたら、Spring Boot「ここにあるデータベースを使ってね」と教えてあげるための設定を書きます。

VSCodeの左側から src > main > resources > application.properties を開きます。

最初は spring.application.name=task-app と1行だけ書かれています。

spring.application.name=task-app と1行だけ書かれている

これは「アプリの名札」なので絶対に消さずに、改行してその下から以下のコードを書き足します。

//データベースのURL(データベース名「task_app_db」の場合)
spring.datasource.url=jdbc:mysql://localhost:3306/task_app_db?useSSL=false&serverTimezone=Asia/Tokyo
//MySQLのユーザー名とパスワード 
spring.datasource.username=root 
spring.datasource.password=パスワードを入力 

⚠️ 設定の罠

初期設定のままだとエラーになります。

以下の2点を必ず確認・修正してください。

1️⃣パスワード:
MAMPの場合、最初から root というパスワードが設定されています。

2️⃣ ポート番号:
MAMPの設定画面(Portsタブ)を確認し、MySQLのポート番号を上記のURLの「localhost:」の後の数字に置き換えてください。

💡 確認と修正方法

MAMP最初の画面 > メニューバーの「MAMP」>「Preferences(設定)」>「Ports(ポート)」タブを開いてみてください。

「MAMP」>「Preferences(設定)」>「Ports(ポート)」

MySQLポート「3307」/ パスワード「root」


💻 いざ、アプリ起動!

Spring BootMySQLに挨拶するための「道しるべ」と「合言葉」が全て揃いました!

TaskAppApplication.java に戻り、main メソッドの上の 「Run」 をクリックします。

「Run」 をクリック

画面の下側にターミナル(黒い画面)がせり上がってきて、ズラーッとログが流れます。


🛡️ 起動成功のサイン

ログがたくさん流れますが、最後に以下のようなメッセージが出れば「起動成功(村からの旅立ち成功)」です!

... Started TaskAppApplication in 2.5 seconds (process running for 3.1)
※秒数はパソコンによって異なります。

「起動成功」

これで、最初の村から旅立つ準備が整いました。


次回の記事では、画面(HTML)を作って、ブラウザ上に「最初の村」を表示させるクエストに進みたいと思います。

これからJavaアプリを作ってみたい!という初心者の方の参考になれば幸いです🙌


【Java初心者の冒険録】Spring Bootアプリ開発

Javaの基礎を学んだものの、「どうやって実際のWebアプリを作ればいいの?」と迷っていませんか?

この連載は、「Spring Boot」を使ってオリジナルの「タスク管理アプリ」をゼロから作り上げるまでの道のりを記録した開発手順まとめです。

冒険の最終目標(開発するアプリ):「会員管理システムを拡張したタスク管理アプリ」

・基本のCRUD(作成・読取・更新・削除)機能

・Spring Securityによるログイン・権限管理

かつての自分と同じように悩むJava初心者にとって、少しでも役立つ記事になれば幸いです。

【プロフィール・作品置き場】

kenichikamoi.com


🎵 Youtube(楽曲一覧)はこちら

www.youtube.com