Spring Bootのバックエンドを構築する方法は?
このチュートリアルでは、Back4Appを使用してSpring Bootのバックエンドを構築する方法を学びます。
Spring Frameworkを活用したJavaベースのWebアプリケーションであるSpring Bootアプリケーションを、データベース管理、Cloud Code、RESTおよびGraphQL API、ユーザー認証、ファイルストレージ、リアルタイムクエリなどの重要なBack4App機能に接続する方法を説明します。
これらの手順に従うことで、Spring Bootの機能をBack4Appが提供する強力なParseプラットフォームとシームレスに統合できるようになります。
Back4Appをバックエンドとして活用することで、データベース接続、セキュリティ設定、デプロイプロセスが大幅に簡素化されます。
サーバーのセットアップや手動のデータベース管理の複雑さから解放されるため、Spring Bootアプリケーションのビジネスロジックの記述に集中できます。
このチュートリアルの終わりまでには、WebアプリやSpring Web上で動作するJavaアプリケーションの基盤となる、堅牢でスケーラブルなバックエンドを持ち、簡単に本番環境向けのデプロイに拡張できるようになります。
このガイドを完了するには、以下の準備が整っていることを確認してください:
- Spring Bootの基本 spring bootアプリケーションの作成に慣れていること。必要に応じて、 Spring Boot公式ドキュメントを参照して、 spring security, コントローラー、サービスなどについて学んでください。
これらの前提条件が整っていることで、スムーズなチュートリアル体験が保証されます。それでは、Back4Appを使用してバックエンドの構築を始めましょう!
新しいBack4Appプロジェクトを作成することは、あなたのバックエンドの基盤です。これにより、データベース、設定、セキュリティルールを保持し、Parseプラットフォームを介してあなたの spring bootアプリケーション データを管理することができます。
- Back4Appアカウントにログインします。
- 「新しいアプリ」をクリックして、Back4Appダッシュボードで操作します。
- プロジェクトの名前を提供します(例:「SpringBoot-Backend-Tutorial」)そして、セットアップを完了します。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
完了すると、Back4Appダッシュボードに新しいプロジェクトが表示されます。
Back4AppはParseプラットフォームを使用しており、Java SDKがSpring Bootアプリと統合できます。好みに応じて、java developerコードから直接REST/GraphQL呼び出しを行うこともできます。ただし、SDKを使用することで、データの保存、クエリ、ユーザー認証などの操作が簡素化されます。
Maven依存関係(例):
あなたのSpring Bootメインアプリケーションクラスまたは設定クラスで、Parseを初期化します:
「YOUR_APP_ID」と「YOUR_CLIENT_KEY」をBack4Appダッシュボードにある資格情報に置き換えることを忘れないでください。これらはアプリ設定またはセキュリティとキーの下に表示されます。
あなたの データベース接続 はBack4Appによって管理されています。ダッシュボードでデータモデル(クラス)を作成するか、Parse SDKを通じてオブジェクトを保存することで自動的に作成させることができます。より良い管理のために、Back4Appダッシュボードに移動して:
- 「データベース」をクリック
- 新しいクラスを作成(例:「Todo」)
- カラムを追加(フィールド)として title(文字列)や isCompleted(ブール値)
![新しいクラスを作成 新しいクラスを作成](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Back4Appは、あなたのためにスキーマを生成できる AIエージェント を提供しています:
- ダッシュボードまたはメニューから AIエージェントを開く。
- データモデルを説明する 簡単な言葉で。
- AIエージェントに 関連するクラスとフィールドの作成を任せる。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Parse Java SDKを spring framework プロジェクトに追加した場合、次のようにクラスと対話できます:
また、RESTエンドポイントを介してBack4Appデータベースと対話することもできます:
Back4AppにはGraphQLエンドポイントもあります:
あなたの webアプリ がリアルタイムの更新を必要とする場合、Back4Appダッシュボードでライブクエリを有効にし、あなたの spring web アプリケーションに接続できます。通常、Javaクライアントでイベントにサブスクライブするか、ライブクエリをサポートするフロントエンドツールを使用します。
Back4Appの ACL(アクセス制御リスト)と CLP(クラスレベルの権限)はあなたのデータを保護します。これは spring security を補完または補強し、あなたの javaアプリケーション をさらに保護します。
- クラスレベルの権限(CLP): “データベース”タブの“クラスレベルの権限”で設定します。
- ACL: コードまたはダッシュボードからオブジェクトレベルの権限を設定します。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
詳細については、 アプリセキュリティガイドライン を参照してください。
Cloud Codeを使用すると、敏感な ビジネスロジック をサーバーに移動または保護できます。これは、クライアント側に公開すべきでないロジックが必要な場合や、外部APIを統合したい場合に特に役立ちます。
Back4App CLI またはBack4Appダッシュボードを使用してコードをデプロイします。その後、Java SDK、REST、またはGraphQLを介してSpring Bootから関数を直接呼び出すことができます。
Parse Userクラスは、ユーザーのサインアップ、ログイン、およびセッショントークンを処理します。これを Spring Bootアプリケーション に統合するには、Java SDKを呼び出すか、REST呼び出しを使用します。
サインアップ (Java SDKの例):
GoogleやFacebookなどのプロバイダーの場合、ParseはOAuthベースのログインをサポートしています。追加の設定詳細については、ソーシャルログインのドキュメント を確認してください。
ファイルをアップロードするには、ParseFileクラスを使用します。あるいは、RESTを使用することもできます:
安全なユーザーアカウントを確保するために、あなたのjava developerワークフローで、Back4Appダッシュボードでメール確認とパスワードリセットを有効にしてください。
- メール確認を有効にする あなたのアプリのメール設定の下で。
- ユーザー体験を向上させるために メールテンプレートを設定してください。
クラウドジョブは、定期的なデータクリーンアップ、毎日の通知送信、またはシステム全体のメンテナンスなどのタスクを自動化することができます。以下は、ジョブの例です:
バック4アプリのダッシュボードから、サーバー設定 > バックグラウンドジョブでスケジュールします。
![クラウドジョブのスケジューリング クラウドジョブのスケジューリング](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
ウェブフックは、あなたのJavaアプリケーションがイベント駆動のHTTPリクエストを送信または受信できるようにします。たとえば、Back4Appデータベースにオブジェクトが作成されるたびに外部サービスに通知することができます。
- Back4Appダッシュボードに移動 > その他 > ウェブフック
- ウェブフックを追加 ターゲットエンドポイントと共に
- トリガーを設定 イベント(作成、更新、削除)のために
![ウェブフックの追加 ウェブフックの追加](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Back4App管理アプリは、非技術的なチームメンバーがデータを表示および変更するためのモデル中心のユーザーフレンドリーなインターフェースです。アプリダッシュボード > その他 > 管理アプリに移動して有効にします。
![管理アプリを有効にする 管理アプリを有効にする](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
サブドメインを選択し、最初の管理ユーザーを作成してください。次に、コードに触れることなくデータを管理するためにログインします。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/u-pU1yBJJxa9KEM2psjXS_image.png?format=webp)
Back4AppとのSpring Boot統合を完了したことをおめでとうございます!データ、認証、ファイル、リアルタイムのサブスクリプション、スケジュールされたジョブを管理するSpring Bootのバックエンドを構築する方法を見てきました。すべて最小限のオーバーヘッドで行えます。
この堅牢でスケーラブルなアプローチにより、低レベルのサーバーやデータベースの詳細を心配することなく、ビジネスロジックの記述に集中できます。
あなたは:
- Back4Appプロジェクトを作成し、Springフレームワークに接続しました。
- クラスとデータモデルを使用してデータベース接続を管理する方法を学びました。
- ACL、CLP、Cloud Code関数、およびCloud Jobsによるスケジューリングを実装しました。
- ファイルストレージ、ユーザー認証、およびWebhookなどの高度な機能を構成しました。
これらの基本をもとに、あなたのSpring Bootアプリケーションは、完全なSpringセキュリティやより複雑なデータ関係を持つ本番環境向けのシステムに成長する準備が整いました。
Back4Appの他の機能や、現代のWebアプリの開発を加速するSpring Bootの機能を探求することをお勧めします。
- 本番環境に向けてスケールアップ: パフォーマンスを最適化し、キャッシュを追加し、CLPで高度な役割を構成します。
- さらなる統合を追加: Cloud CodeまたはWebhookを介して外部サービス(決済ゲートウェイ、分析など)に接続します。
- チュートリアルを探求: リアルタイムチャット、プッシュ通知、または位置情報サービスに関する専門的なチュートリアルを探します。それらをSpring Bootのセットアップと組み合わせて、最先端のWebアプリケーションを構築します。
Spring BootとBack4Appの相乗効果を活用することで、クリーンなコードベースを維持しながら、Javaアプリケーションを迅速に開発、保守、スケールアップできます。
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)