【Spring Boot超入門】pom.xmlって何?
目次
🎯 この記事を読むと…
- pom.xmlが何なのか、スッキリ理解できる
- Spring Bootプロジェクトの仕組みが分かる
- ライブラリの追加方法が身につく
- 次のステップに進む準備ができる
📚 目次
🏠 pom.xmlって何?まずは例え話から
家を建てる時の設計図をイメージしてください🏗️
家を建てる時には:
• どんな材料を使うか(木材、コンクリートなど)
• どこの業者から材料を買うか
• どんな設備を入れるか(キッチン、お風呂など)
これらを設計図に書きますよね?
pom.xmlは、まさにプログラムの「設計図」なんです!
「プロジェクトの設計書」みたいなものです。難しく考えなくて大丈夫!
単純に「このプロジェクトで何を使うかを書いたファイル」だと思ってください😊
🤔 なんでpom.xmlが必要なの?
プログラムを作る時、たくさんの便利な機能を使いたいですよね?
例えば、こんな機能が欲しいとします
- 🌐 Webページを表示したい
- 💾 データベースに情報を保存したい
- 🔐 ログイン機能を作りたい
- 📱 スマホでも見れるようにしたい
これらの機能を全部自分で作るのは大変すぎます💦
だから、すでに作られた便利な機能(ライブラリ)を使います!
pom.xmlは、
「このプロジェクトでは、○○というライブラリと、△△というライブラリを使いますよ〜」
ということを書いておくファイルなんです📝
📄 実際のpom.xmlを見てみよう
百聞は一見にしかず!実際のpom.xmlファイルを見てみましょう:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?xml version="1.0" encoding="UTF-8"?> <project> <!-- このプロジェクトの基本情報 --> <groupId>com.example</groupId> <artifactId>my-spring-app</artifactId> <version>1.0.0</version> <name>私の最初のSpring Bootアプリ</name> <!-- Spring Bootの基本設定を使う --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.0</version> </parent> <!-- 使いたいライブラリの一覧 --> <dependencies> <!-- Webアプリを作るのに必要な機能 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> </project> |
① プロジェクトの名前や情報
② Spring Bootの基本設定
③ 使いたいライブラリのリスト順番に説明していきますね〜😊
🔍 各部分を詳しく見てみよう
① プロジェクトの基本情報
1 2 3 |
<groupId>com.example</groupId> <!-- 会社名や組織名 --> <artifactId>my-spring-app</artifactId> <!-- アプリの名前 --> <version>1.0.0</version> <!-- バージョン --> |
- groupId:「com.あなたの名前」とかでOK
- artifactId:アプリの名前(好きに決めて大丈夫)
- version:バージョン番号(最初は気にしなくてOK)
② Spring Bootの基本設定
1 2 3 4 5 |
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.0</version> </parent> |
初心者のうちは「おまじない」だと思って、そのまま書いておけばOKです🪄
③ 使いたいライブラリのリスト
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<dependencies> <!-- Webアプリを作る機能 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- データベースを使う機能 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> </dependencies> |
🚀 Spring Boot Starterってなに?
上のコードでspring-boot-starter-web
って出てきましたよね?
これがSpring Boot Starterです!
お弁当セットだと思ってください🍱
普通なら「おかず」「ご飯」「汁物」を別々に注文しないといけないけど、
「お弁当セット」なら一つ注文すれば全部ついてくるみたいな感じです!
Starter名 | 何ができるようになる? | 例え |
---|---|---|
spring-boot-starter-web |
Webページを作れる | 🌐 ウェブサイト作成セット |
spring-boot-starter-data-jpa |
データベースを使える | 💾 データ保存セット |
spring-boot-starter-thymeleaf |
HTMLを動的に作れる | 📄 ページ作成セット |
spring-boot-starter-security |
ログイン機能を作れる | 🔐 セキュリティセット |
• 必要な機能がまとめて入ってる
• バージョンの組み合わせを考えなくていい
• 設定が自動でされる
• 初心者でも簡単に使えるつまり、めちゃくちゃ便利ってことです!😄
➕ ライブラリを追加してみよう
実際に新しい機能を追加してみましょう!
例えば、「HTMLページを作る機能」と「データベース機能」を追加したいとします。
🎯 手順
- pom.xmlファイルを開く
- <dependencies>の中に新しい<dependency>を追加
- ファイルを保存
- IDEが自動で必要なファイルをダウンロード ✨
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<dependencies> <!-- 元からあるもの --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 新しく追加:HTMLページを作る機能 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!-- 新しく追加:データベース機能 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- 新しく追加:開発用の簡単なデータベース --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> </dependencies> |
• ファイルを保存する
• IDEの「Refresh」や「Reload」をする
• うまくいかない時は再起動してみるこれで新しい機能が使えるようになります!🎉
⚖️ MavenとGradleどっち選ぶ?
Spring Bootでは2つの選択肢があります:
特徴 | Maven(pom.xml) | Gradle(build.gradle) |
---|---|---|
初心者向け | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
情報の多さ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
処理速度 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
書きやすさ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
初心者におすすめ:Maven 🏆
理由:
• ネットの情報がとにかく多い
• チュートリアルのほとんどがMaven
• 困った時に解決策が見つかりやすい
慣れてきたらGradleも試してみるといいですよ!
🎊 まとめ:次に何をすればいい?
🎯 今日覚えたこと
- pom.xml = プロジェクトの設計図
- dependencies = 使いたい機能のリスト
- Spring Boot Starter = 便利な機能セット
- 初心者はMavenがおすすめ
コメントを残す