ホーム テクノロジー 開発 非公開: Spring フレームワークを 5 分以内で説明

Spring フレームワークを 5 分以内で説明


Spring Framework は、強力なオープンソース Java アプリケーション開発フレームワークであり、堅牢で高性能なアプリケーションを簡単に作成できます。

オープンソースとは、ソースコードが自由に利用できるため、人々が自由にアクセス、変更、共有できるものを指します。

オープンソース アプリケーション フレームワークは、ソフトウェア開発者のグループによって作成されたソフトウェア開発用のテンプレートです。ユーザー インターフェイス、Web サイト、基本的なソフトウェア アプリケーションの作成など、さまざまな目的に使用されるさまざまなタイプのテンプレートが存在します。

アプリケーション開発が初めての場合は、Spring Framework を始めるのが良いスタートになるかもしれません。この記事では、それが何なのか、そしてどのように使用するのかを学びます。

Springフレームワークとは何ですか?

Spring フレームワークとは
Spring フレームワークとは

Spring Framework は、開発者がエンタープライズ Java アプリケーションを作成するために使用するオープンソース フレームワークです。このフレームワークは Rod Johnson によって作成され、Apache 2.0 ライセンスに基づいて 2003 年にリリースされました。

プログラマの中には、通常 Java を非難し、基本的なアプリケーションを作成するのは面倒だと主張する人もいます。 Spring Framework は、エンタープライズ Java アプリケーション開発の煩雑で複雑なプロセスを簡素化することを目的としています。

春は広いですね。したがって、Spring Boot、Spring GraphQL、Spring Cloud などの他の Spring ベースのプロジェクトを使用し始める前に、まず Spring フレームワークが何であるかを理解することをお勧めします。

Spring フレームワークを使用する理由

  • 柔軟。このフレームワークは、アスペクト指向プログラミング (AOP)、依存性注入 (DI)、Plain Old Java Object (POJO) などのテクノロジーを提供します。したがって、Spring を使用してさまざまな目標を達成できます。
  • 春は早いですね。これらすべてのテクノロジーを備えているにもかかわらず、Spring Framework は依然として軽量であるため、スケーラブルで堅牢なエンタープライズ Web アプリケーションの作成に最適です。
  • 素晴らしいコミュニティ。 Spring には多様なコミュニティがあり、必要なときにさまざまなソリューションを提供してくれると信頼できます。
  • 安全。 Spring はセキュリティ対策が充実していることで知られており、頻繁なパッチによって脆弱性は常に修正されています。サードパーティの依存関係は常に監視され、その脆弱性がコアプロセスに干渉しないようにします。
  • 生産的。 Spring Framework は、Java エンタープライズ アプリケーションの開発エクスペリエンスを合理化します。

スプリングの特長

アスペクト指向プログラミングをサポート

アスペクト指向プログラミングは、横断的な問題に対してより多くのモジュール性を提供します。 AOP はオブジェクト指向プログラミングも補完します。

AOP のモジュール性の主要な単位は、横断的な関心事 (アスペクト) です。したがって、開発者は宣言的なエンタープライズ サービスとカスタム アスペクトを作成できます。

制御反転 (IoC) コンテナ

IoC コンテナは、Java オブジェクトを管理および構成する合理的な方法を提供します。定義された Java オブジェクトのライフサイクルはこのコンテナーによって管理され、Spring ベースのアプリケーションの再構成可能性が大幅に向上します。

Inversion of Control は、依存関係ルックアップまたは依存関係注入パターンを利用して、オブジェクト参照ランタイムを提供します。 IoC コンテナには、構成管理に必要なアセンブラ コードが付属しています。

データアクセスフレームワーク

Spring は Hibernate、JDBC、および Java で最も一般的なデータ アクセス フレームワークの一部である Java Persistence API (JPA) を直接サポートしているため、データ通信プロセスが簡素化されています。このフレームワークを利用して、サポートされているすべてのデータ アクセス フレームワークにリソース ラッピング、例外処理、リソース管理などの機能を提供することもできます。

Spring MVC フレームワーク

開発者は、このリクエストベースのフレームワークを使用して、ニーズに合ったカスタマイズされた MVC 実装を作成できます。

DispatcherServlet クラスは、ユーザーのリクエストを処理して適切なコントローラーに転送する役割を果たし、Spring MVC の中核に位置します。したがって、コントローラーはリクエストを処理し、モデルを作成し、指定されたビューを通じてエンド ユーザーに情報を提供できます。

いくつかのテストフレームワークがある

Spring ベースのアプリケーションを開発するときに、Mock オブジェクト、TestContext フレームワーク、または Spring MVC テストを通じてテストできます。

言語サポート

Spring フレームワークは Groovy と Kotlin をサポートしています。

春の建築

Spring Framework には約 20 個のモジュールが付属しています。このフレームワークの良い点は、ユースケースに適用できるモジュールを選択できることです。これらのモジュールは、コア コンテナ、AOP (アスペクト指向プログラミング)、データ アクセス/統合、Web、インストルメンテーション、およびテストにグループ化されます。

#1.コアコンテナ

Spring Framework のコア コンテナには、コア、Bean、コンテキスト、および式言語モデルが含まれています。これらの言語モデルは次の点で役立ちます。

  • Coreモジュールはフレームワークの基本部分です。コアには IoC 機能と依存性注入機能があります。
  • Beanモジュールは、ファクトリ パターンの高度な実装である BeanFactory として知られています。
  • コンテキストモジュールは、コア モジュールと Bean モジュールに基づいて構築されます。このモジュールは Bean モジュールから機能を継承していますが、国際化のサポートが追加されています。
  • 式言語モジュールは、実行時にオブジェクト グラフを操作およびクエリするための強力な式言語を提供します。

#2.データアクセス/統合

JDBC、ORM、OXM、JMS、およびトランザクション モジュールがデータ アクセス/統合レイヤーを構成します。これらのモジュールは次のことを実行します。

  • JDBCモジュールには JBDC 抽象化レイヤーがあり、面倒な JDBC コーディングやデータベース ベンダー固有のエラー コードの解析を行う必要がなくなります。
  • ORM は、 JPA、JDO、Hibernate、iBatis などの一般的なオブジェクト リレーショナル マッピング API の一部の統合レイヤーです。 ‘
  • OXMモジュールは、XStream、JAXB、JiBX、Castor、および XMLBean のオブジェクト/XML マッピング実装をサポートする抽象化レイヤーです。
  • トランザクションモジュールは、特別なインターフェイスを実装するクラスの宣言型およびプログラムによるトランザクション管理をサポートします。
  • Java Messaging Service (JMS) モジュールには、メッセージを生成および消費する機能があります。

#3. AOP (アスペクト指向プログラミング) とインストルメンテーション

このモジュールには、AOP Alliance に準拠したアスペクト指向プログラミング実装が付属しており、メソッド インターセプターなどの定義が簡単になります。一方、インストルメンテーション モジュールは、特定のアプリケーション サーバーで使用されるクラスローダーとクラス インストルメンテーションのサポートを提供します。

#4.ウェブ

Web、Web-Servlet、Web-Struts、および Web-Portlet モジュールは Web 層を構成します。

  • Webモジュールは、マルチパート ファイル アップロード機能などの基本的な Web 指向の統合機能を担当します。
  • Web-Servletモジュールは、Web アプリケーション用の Spring の MVC 実装を特徴としています。
  • Web ポートレットモジュールは、Web サーブレット モジュールの機能を反映しています。 Web ポートレット モジュールは、ポートレット環境で使用される MVC 実装を提供します。
  • Web-Socketモジュールは、Web アプリケーションのサーバーとクライアント間の双方向通信をサポートします。

#5.テスト

Test モジュールは Spring アーキテクチャの最後の部分です。 TestNG や JUnit を使用した Spring コンポーネントのテストをサポートするモジュールです。

Spring フレームワークをインストールする

Javaがインストールされていることを確認する

Spring Framework がどのように機能するかを学ぶ前に、PC に Spring をインストールする必要があります。 Spring のドキュメントには、オペレーティング システムに応じて開始方法に関する広範なリソースが含まれています。

この例では、Linux ベースのオペレーティング システムである Ubuntu 20.04.5 を使用します。

Spring をインストールする前に、次のコマンドを使用して Java がインストールされていることを確認してください。

 java -version

Java がインストールされている場合は、このスクリーンショットのような出力が表示されます。

PC に Java がない場合は、ニーズに応じてJava をインストールする方法がいくつかあります。

Springフレームワークをインストールする

Spring のドキュメントで説明されているように、Spring フレームワークをインストールするにはいくつかの方法があります。

この例では、GVM (Groovy Environment Manager) を使用します。 GVMtoolを使用して GVM を取得することも、 コマンド ラインでインストールすることもできます。

GVM を入手したら、次のコマンドを使用してインストールし、Spring フレームワークがインストールされているかどうかを確認します。

 gvm install springboot
 spring --version

Spring がインストールされている場合は、次のような出力が得られる可能性があります。

Spring フレームワークに関連する重要な用語

依存関係の注入

依存関係の挿入は、開発者がクラスの外に独立したオブジェクトを作成できるようにする機能です。 DI を使用すると、ユーザーはさまざまな方法でこれらのオブジェクトをクラスに提供できます。

制御の反転 (IoC)

IoC は、プログラムまたはオブジェクトの一部の制御をフレームワークまたはコンテナに移す概念です。従来のプログラミングでは、カスタム コードがライブラリを呼び出します。一方、IoC を使用すると、フレームワーク (この場合は Spring) がカスタム コードを呼び出し、プログラムのフローを制御できます。

アスペクト指向プログラミング (AOP)

AOP は、アプリケーション全体に適用できる共通の再利用可能なルーチンを構築するための技術です。このようなアプローチでは、繰り返し可能なタスク (入力検証、ログ記録、エラー処理など) をコア アプリケーション ロジックから分離します。

Spring Framework の学習リソース

#1. Spring Framework 5 を使用したリアクティブ プログラミング

Spring Framework 5 を使用したリアクティブ プログラミング
Spring Framework 5 を使用したリアクティブ プログラミング

この春のコースは、ビデオ、記事、ダウンロード可能なリソースで構成されています。このコースでは、Java を使用した関数型プログラミング、Spring WebFlux を使用してマイクロサービスを行う方法、Spring Data MongoDB でリアクティブ型を活用する方法を教えます。

#2. Spring フレームワーク マスター クラス

Spring フレームワーク マスタークラス
Spring フレームワーク マスタークラス

Spring Framework Master Class は、 Java プロジェクトで Spring Framework を実際に使用する方法を教える有料コースです。 Spring Boot、JUnit & Mockito、Spring JDBC、Spring AOP、Hibernate などのさまざまなツールの使用方法を学びます。

#3.簡単なステップでの Spring フレームワーク

Spring フレームワークの簡単なステップ
Spring フレームワークの簡単なステップ

Spring Framework In Easy Steps は、Spring Framework を使用してエンドツーエンドの Java EE Web アプリケーションを作成したい場合に受講するのに最適なプレミアム コースです。 Spring MVC を使用して Web アプリケーションを開発する方法、JQuery と Spring MVC を使用して Ajax 呼び出しを行う方法、Spring JDBC を使用してデータベース操作を実行する方法などを学習します。

#4.春のフレームワーク 5

Spring-フレームワーク-5
Spring-フレームワーク-5

Spring Framework 5 コースは、Spring Framework 5、Spring Data MongoDB、Spring Boot 2、Spring MVC、Spring Data JPA、および Hibernate を学習したい場合に最適です。 57 時間のオンデマンド ビデオ、13 件の記事、および多数のダウンロード可能な資料を利用できます。

著者のメモ

Java は、現代世界で最も人気のあるプログラミング言語の 1 つであり続けています。新しい言語が導入されているにもかかわらず、Spring などのフレームワークは Java に新しい命を吹き込み、その有用性を拡大しています。したがって、Java エンジニアはレガシー コードの保守と新しいアプリケーションの作成に必要とされるため、需要は今後も続くと考えられます。

結論

Spring は Java EE フレームワークの中で上位にランクされており、Spring Framework とは何か、その機能、アーキテクチャ、作業プロセスについて理解できたと思います。 Spring Framework は、他の Spring プロジェクトと組み合わせると、さまざまな開発環境で使用できるさまざまな開発ツールを開発者に提供します。

「 Spring フレームワークを 5 分以内で説明」についてわかりやすく解説!絶対に観るべきベスト2動画

フレームワークとは?|フレームワークを使うメリットや代表的なものを4分でわかりやすく解説します【プログラミング初心者向け】
Spring Bootで占いwebアプリを作ってみよう!【JavaでSpringBoot開発 #1】