前回の投稿で Spring Boot 3 の基本を説明した後、Product エンティティの CRUD (作成、読み取り、更新、削除) 操作を実装してさらに詳しく見てみましょう。その過程で、Java エコシステムに移行する .NET 開発者のギャップを埋めるために、Spring Boot のコア概念とそれに相当する .NET Core の概念を比較します。
プロジェクトのセットアップ
開始する前に、次の依存関係を備えた Spring Boot プロジェクトの準備ができていることを確認してください。
- Spring Web: REST API の構築用。
- Spring Data JPA: データベース対話用。
- PostgreSQL ドライバー: PostgreSQL データベースに接続するため。
Docker を使用して PostgreSQL をローカルで実行する
PostgreSQL をローカルで実行するには、Docker を使用してインスタンスをすばやくセットアップします。
-
PostgreSQL イメージをプルします:
docker pull postgres
-
PostgreSQL コンテナを実行します:
docker run --name postgres-db -e POSTGRES_PASSWORD=yourpassword -e POSTGRES_USER=yourusername -e POSTGRES_DB=mydatabase -p 5432:5432 -d postgres
yourusername、yourpassword、mydatabase を希望のユーザー名、パスワード、データベース名に置き換えます。
-
データベースが実行されていることを確認します:
docker ps
データベース クライアント (DBeaver、pgAdmin、psql など) を使用して localhost:5432 に接続し、データベースにアクセスできることを確認します。
pom.xml ファイルを更新します
Maven を使用している場合は、pom.xml ファイルに次の依存関係を含めて、必要なライブラリがすべて利用可能であることを確認します。
<dependencies> <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> <dependency> <groupid>org.postgresql</groupid> <artifactid>postgresql</artifactid> <version>42.5.0</version> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-test</artifactid> <scope>test</scope> </dependency> </dependencies>
また、プロジェクトをビルドするために次のプラグインが含まれていることを確認してください:
<build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-maven-plugin</artifactid> </plugin> </plugins> </build>
.NET Core との比較:
.NET Core では、パッケージ参照は csproj ファイルを使用して管理されます。 PostgreSQL を利用した Web API の同等の依存関係は次のようになります:
<itemgroup> <packagereference include="Microsoft.AspNetCore.App"></packagereference> <packagereference include="Npgsql.EntityFrameworkCore.PostgreSQL" version="6.0.0"></packagereference> </itemgroup>
PostgreSQL データベースを構成する
PostgreSQL データベースに接続するには、application.yml ファイルを更新します。
spring: datasource: url: jdbc:postgresql://localhost:5432/mydatabase username: yourusername password: yourpassword jpa: properties: hibernate: dialect: org.hibernate.dialect.PostgreSQLDialect hibernate: ddl-auto: update
mydatabase、yourusername、および yourpassword を実際の PostgreSQL データベースの詳細に置き換えます。 ddl-auto=update 設定により、Hibernate はエンティティ定義に基づいてテーブルを自動的に作成または更新します。
.NET Core との比較:
.NET Core では、同様の構成が appsettings.json:
に存在します。
{ "ConnectionStrings": { "DefaultConnection": "Host=localhost;Database=mydatabase;Username=yourusername;Password=yourpassword" }, "EntityFramework": { "MigrationsAssembly": "YourProjectName" } }
プロジェクト構造の概要
Spring Boot プロジェクトはコードをパッケージに編成します:
- entity: データ モデルが含まれます。
- リポジトリ: データベース操作用のインターフェース。
- コントローラー: REST エンドポイント。
- サービス (オプション): ビジネス ロジック。
この構造は、.NET Core プロジェクトの一般的なレイヤー (モデル、データ/リポジトリ、コントローラー、サービス) に似ています。
ステップ 1: 製品エンティティを定義する
Spring Boot では、Entity Framework Core のモデルと同様に、エンティティはデータベース テーブルを表します。 @Entity や @Id などのアノテーションを使用して、クラスをテーブルにマップします:
docker pull postgres
.NET Core 相当
docker run --name postgres-db -e POSTGRES_PASSWORD=yourpassword -e POSTGRES_USER=yourusername -e POSTGRES_DB=mydatabase -p 5432:5432 -d postgres
ステップ 2: リポジトリを作成する
Spring Boot では、リポジトリは JpaRepository を拡張したインターフェイスです。これらは、EF Core の DbContext に似た組み込みの CRUD 操作を提供します。
docker ps
.NET Core 相当
<dependencies> <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> <dependency> <groupid>org.postgresql</groupid> <artifactid>postgresql</artifactid> <version>42.5.0</version> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-test</artifactid> <scope>test</scope> </dependency> </dependencies>
ステップ 3: サービス層を実装する (オプション)
サービス層はビジネス ロジックを処理します。オプションではありますが、大規模なアプリケーションではこれをお勧めします。
<build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-maven-plugin</artifactid> </plugin> </plugins> </build>
.NET Core 相当
<itemgroup> <packagereference include="Microsoft.AspNetCore.App"></packagereference> <packagereference include="Npgsql.EntityFrameworkCore.PostgreSQL" version="6.0.0"></packagereference> </itemgroup>
ステップ 4: コントローラーを構築する
コントローラーは、ASP.NET Core と同様に、HTTP リクエストを処理します。
spring: datasource: url: jdbc:postgresql://localhost:5432/mydatabase username: yourusername password: yourpassword jpa: properties: hibernate: dialect: org.hibernate.dialect.PostgreSQLDialect hibernate: ddl-auto: update
.NET Core 相当
{ "ConnectionStrings": { "DefaultConnection": "Host=localhost;Database=mydatabase;Username=yourusername;Password=yourpassword" }, "EntityFramework": { "MigrationsAssembly": "YourProjectName" } }
ステップ 5: API をテストする
Postman や cURL などのツールを使用してアプリケーションを実行し、エンドポイントをテストします。 PostgreSQL データベースが実行中であり、適切に構成されていることを確認してください。
アプリケーションが起動して実行されたら、Postman または cURL を使用して CRUD エンドポイントをテストします。 PostgreSQL が実行中であり、正しく構成されていることを確認してください。
Postman を使用したエンドポイントのテスト:
- GET /api/products: すべての製品を取得します。
- GET /api/products/{id}: ID によって単一の製品を取得します。
- POST /api/products: 新しい製品を作成します。
- DELETE /api/products/{id}: ID で製品を削除します。
主な比較
Feature | Spring Boot 3 | .NET Core |
---|---|---|
Dependency Injection | Built-in with @Autowired or constructor injection | Built-in with AddScoped, AddSingleton |
ORM Tool | Spring Data JPA | Entity Framework Core |
Routing | @RequestMapping, @GetMapping | [Route], [HttpGet] |
Middleware | Spring Interceptors | ASP.NET Middleware |
Response Handling | ResponseEntity | IActionResult |
結論
Spring Boot での CRUD アプリケーションの作成は、特に .NET Core に精通している人にとっては簡単です。依存関係注入、ORM、および RESTful API の原則は、どちらのエコシステムでも似ています。このガイドは始まりにすぎません。今後の投稿では、Lombok の統合、Swagger/OpenAPI、検証、エラー処理、データベースの移行について説明します。乞うご期待!
コーディングを楽しんでください!
参考文献
- Spring Boot ドキュメント: https://spring.io/projects/spring-boot
- PostgreSQL ドキュメント: https://www.postgresql.org/docs/
- Spring Data JPA ドキュメント: https://spring.io/projects/spring-data-jpa
- .NET Core ドキュメント: https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-7.0
以上がSpring Boot または .NET 開発者パートの開始 Spring Boot での製品エンティティ CRUD アプリケーションの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

jvm'sperformanceiscompetitivewitherruntimes、sped、safety、andproductivityの提供

javaachievesplatformedentenceTheThejavavirtualMachine(JVM)、avainwithcodetorunonanyplatformwithajvm.1)codescompiledintobytecode、notmachine-specificcode.2)

thejvmisanabstractcomputingMachineCrucialForrunningJavaProgramsDuetoitsPlatForm-IndopentInterChitecture.Itincludes:1)ClassLoaderForloadingClasses、2)Runtimedataareaforforforatastorage、3)executionEngineWithinterter、Jitcompiler、およびGarbagecolfecolfecolfececolfecolfer

jvmhasacloserelationshiptheosasittrantesjavabytecodecodecodecodecodecodecodecodecodecodecodecodecodetructions、manageSmemory、およびhandlesgarbagecollection.thisrelationshipallowsjavatorunonvariousosenvirnments、Butalsedentsはspeedifediferentjvmbeviorhiorsandosendisfredediferentjvmbehbehioorysando

Javaの実装「Write and、Run Everywherewhere」はBytecodeにコンパイルされ、Java仮想マシン(JVM)で実行されます。 1)Javaコードを書き、それをByteCodeにコンパイルします。 2)JVMがインストールされたプラットフォームでByteCodeが実行されます。 3)Javaネイティブインターフェイス(JNI)を使用して、プラットフォーム固有の機能を処理します。 JVMの一貫性やプラットフォーム固有のライブラリの使用などの課題にもかかわらず、Woraは開発効率と展開の柔軟性を大幅に向上させます。

javaachievesplatformentenceTheTheTheJavavirtualMachine(JVM)、CodetorunondifferentoperatingSystemswithOutModification.thejvmcompilesjavacodeplatform-IndopentedbyTecodeを承認することを許可します

javaispowerfulfulduetoitsplatformindepentence、object-orientednature、richstandardlibrary、performancecapability、andstrongsecurityfeatures.1)platformendependenceallowseplicationStorunonaydevicesupportingjava.2)オブジェクト指向のプログラマン型

上位のJava関数には、次のものが含まれます。1)オブジェクト指向プログラミング、サポートポリ型、コードの柔軟性と保守性の向上。 2)例外処理メカニズム、トライキャッチ式ブロックによるコードの堅牢性の向上。 3)ゴミ収集、メモリ管理の簡素化。 4)ジェネリック、タイプの安全性の向上。 5)コードをより簡潔で表現力豊かにするためのAMBDAの表現と機能的なプログラミング。 6)最適化されたデータ構造とアルゴリズムを提供するリッチ標準ライブラリ。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 中国語版
中国語版、とても使いやすい

WebStorm Mac版
便利なJavaScript開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

Dreamweaver Mac版
ビジュアル Web 開発ツール
