Spring Frameworkとは何ですか? –効率的な開発への道



Spring Frameworkとは何かに関するこのブログでは、広く使用されているJavaFrameworkであるSpringについて説明しています。また、SpringFrameworkを使用する理由と方法を例とともに説明します。

今日のペースの速い世界では、すべてを迅速に行う必要があります。旅行、買い物、勉強、仕事など、1つの仕事に長く従事し続けたくはありません。コーディングに関しては、アプリケーションを最短期間で開発しながら、完全な効率を提供することを望んでいます。急いでいるかもしれませんが、それでも品質に妥協することはできず、あまりにも力を入れたいとは思っていません。では、解決策は何ですか?フレームワークは、この状況で最適に機能します。市場にはさまざまなフレームワークがありますが、Spring、Hibernate、Strutsなどはほとんど使用されていません。このブログを通じて、Spring Frameworkとは何か、なぜ市場で人気があるのか​​を調べましょう。

始める前に、このブログで説明するトピックを見てみましょう。





Javaフレームワーク

なぜフレームワークを選ぶべきなのですか?しましょう私たちの友人とそれを理解し、 コディ

問題のコディ-SpringFrameworkとは-Edureka!



コディ アプリケーションを開発するタスクが与えられますが、割り当てられた時間はそれを完了するのに十分ではありません。彼は自分でたくさんのコード行(LOC)を書かなければなりません。非常に時間がかかり、疲れます。彼は何をすべきか混乱しています!彼はどこから始めるべきか!

コディ 彼の問題の解決策を考え始めます。彼は、既製のもののように、時間と労力を節約する高速で効率的なものを必要としています。



突然、フレームワークを使用するというアイデアが彼を襲いました。フレームワークは高速で効率的で軽量です。これらは事前定義されたコードの大きな本体であり、特定の問題を解決するために独自のコードに簡単に追加できます。

彼はフレームワークを使用してコーディングします。驚くべきことに、コードはフレームワークに簡単に適合しました。

コディ これで、コーディングを高速化し、指定された時間枠内にアプリケーションを完成させることができます。さらに、彼は何千行もの機能しないコードを書く必要がありません。

フレームワークを使用して開発されたアプリケーションをデプロイした後、彼は、フレームワークを使用せずに開発された他のアプリケーションと比較して、はるかに高速で実行され、スループットも向上することを発見しました。

それでは、Javaフレームワークから始めましょう。

Javaフレームワークはどのようにして存在するようになりましたか?

1990年代後半、アプリケーションはJEE標準を使用して広く開発されました。 J2EEの前提は、マルチプラットフォーム/マルチベンダーでした。J2EE標準に従ってコーディングできれば、プラットフォームに関係なく、任意のJ2EEアプリケーションサーバーにアプリケーションをデプロイできます。任意のアプリケーションサーバーでコードを実行すると、トランザクション管理、メッセージング、メーリング、ディレクトリインターフェイスなど、多くの利点があります。しかし、この世界では簡単なことは何もないため、J2EEの操作にもいくつかの問題がありました。

  • 非常に繁雑 :Enterprise Java Beanは、J2EEアプリケーションの複雑さを軽減するために開発されました。しかし、実装の目的には成功しませんでした。その背後にある理由は、コンポーネントを作成する際に、XMLファイル、ホームインターフェイス、リモート/ローカルインターフェイスなどのセットを作成する必要があるためです。
  • 「ルックアップ」の問題: コンポーネントが別のコンポーネントに依存している場合は常に、それ自体が依存しているコンポーネントを検索する必要がありました。このコンポーネントの「ルックアップ」は名前によってのみ行われるため、依存関係の名前はコンポーネントにハードコーディングされています。
  • ヘビー級: としてクラスタリング、リモーティングなどのすべての機能がサポートされていたため、必要かどうかに関係なく、それらを構成する必要があります。これにより、アプリケーションが肥大化します。

これがJavaフレームワークの誕生です。 Javaフレームワークは、特定のドメインの問題を解決するために独自のコードに適用できる、事前定義されたコードの大きな本体に他なりません。フレームワークを使用するには、そのメソッド、継承を呼び出すか、「コールバック」、リスナー、またはその他の実装を提供します。 観察者 パターン。

絵でそれを理解しましょう:

しかし、それらはどれほど正確に私たちの仕事を減らし、私たちのコードを効率的にしますか?それを理解するには、次の手順を実行します 利点そして短所これらのフレームワークの。から始めましょう 利点

効率:

通常、作成に数時間と数百行のコードを要するタスクは、事前に構築された関数を使用して数分で実行できるようになりました。開発がはるかに簡単になるため、開発がはるかに簡単であれば、はるかに迅速になり、その後、より効果的になります。

Javaでのスキャナーの使用

セキュリティ:

広く使用されているフレームワークは、一般的に大きなものになりますセキュリティアプリケーション。大きなメリットはご近所そのフレームワークの背後では、ユーザーは通常、長持ちするテスターに​​なります。脆弱性やセキュリティホールを見つけた場合は、フレームワークのWebサイトにアクセスして、修正できるように通知することができます。

費用:

最も一般的な構造は補完的であるため、開発者はコーディングを高速化できます。コーディングがより速く行われる場合、最終的なクライアントの費用は、時間であれ労力であれ、あらゆる面で確かに少なくなります。また、メンテナンスコストも低く抑えられます。

サポート:

他の分散ツールと同様に、フレームワークには通常、ドキュメント、サポートグループ、または迅速な応答を取得できる大規模なコミュニティのオンラインフォーラムが含まれます。

これらすべての利点があるにもかかわらず、Javaフレームワークにはいくつかの利点があります 短所 、 お気に入り:


制限:

フレームワークの基本的な動作は変更できません。つまり、フレームワークを使用するときは、フレームワークの制限を尊重し、必要な方法で作業する必要があります。したがって、ニーズに合ったフレームワークを選択する必要があります。

コードは公開されています:

フレームワークは誰でもすぐに利用できるので、私はtは悪意のある人にも提供されます。物事がどのように機能するかを知り、あなたに対して利用できる欠陥を発見するためにそれを研究することができます。

カスタム 特徴

フレームワークを使用している場合、フレームワークの機能はカスタムビルドされているため、フレームワークの背後にある言語についてはほとんど知りません。カスタムビルドの機能を使用する場合、元の概念とは異なる可能性があるフレームワークの標準に従ってそれらを使用する必要がある可能性が非常に高くなります。

それあなたは長所と短所を知っていますフレームワークの、必要に応じてフレームワークを選択してください。市場にはさまざまな種類のフレームワークがあります。以下の図は、それらのいくつかを示しています。

したがって、このブログでは、SpringFrameworkに焦点を当てます。

Spring Frameworkとは何ですか?

ここで、「SpringFrameworkとは」という質問が発生します。

Spring Frameworkは、Enterprise Java(JEE)に使用される強力で軽量なアプリケーション開発フレームワークです。

Spring Frameworkのコア機能は、任意のJavaアプリケーションの開発に使用できます。それは次のように説明することができます完全でモジュール式のフレームワーク。 Spring Frameworkは、リアルタイムアプリケーションのすべてのレイヤー実装に使用できます。 StrutsやHibernateとは異なり、リアルタイムアプリケーションの特定のレイヤーの開発にも使用できますが、Springを使用するとすべてのレイヤーを開発できます。

これはSpringFrameworkとは何かについてでしたが、どのように開発されたのでしょうか。ええと、その背後には興味深い歴史があります。 SpringFrameworkの歴史と起源を見てみましょう。

2002年10月、 ロッドジョンソン オーストラリアのコンピュータスペシャリストであるは、Expert One-on-One J2EE Design andDevelopmentというタイトルの本を書きました。この本では、彼は通常のJavaクラス(POJO)と依存性注入に基づくより単純なソリューションを提案しました。彼は、アプリケーションを開発するための再利用可能なJavaインターフェイスとクラスの数を含む30,000行を超えるインフラストラクチャコードを作成しました。 2003年2月頃、Rod、Juergen、YannがSpringプロジェクトでのコラボレーションを開始しました。 「春」という名前は、従来のJ2EEの「冬」に続く新たなスタートを意味するために付けられました。

以下は、春の歴史におけるメジャーリリースについて示されたタイムラインです。

21世紀への参照としてインターフェイス21と名付けられ、Apache2.0ライセンスの下でリリースされました。
これは最初のマイルストーンリリースでした。 Springフレームワークは、このリリース以降急速に進化しました。 Interface21は、SpringFrameworkと並行してAspectJをサポートしていました。
新しい機能が追加されました–拡張可能なXML構成、Java 5と動的言語のサポート、IoC拡張ポイントとAOP拡張。
新しい機能が追加されました– Java 6 / JEE5のサポート、注釈構成、クラスパスでのコンポーネントの自動検出、およびOSGi準拠のバンドル。
新機能が追加されました–再編成されたモジュールシステムのサポート、SpEL、JavaConfig、組み込みデータベース、RESTサポートおよびJava EE6のサポート。
Spring Data CommonsProjectがリリースされました。 2012年後半、ロッドジョンソンはスプリングチームを去りました。
すべてのSpringプロジェクトはPivotalに移行しました。新しい機能が追加されました– Java 8の完全サポート、WebSocket、より高いサードパーティライブラリの依存関係、Bean定義用のGroovyDSL。
これは、Java 6、7、および8と互換性があり、コアの改良と最新のWeb機能に重点を置いています。
最終世代になります一般的なSpring4システム要件の範囲内。 4.3.8が現在のバージョンです。

なぜSpringFrameworkなのか?

以下は、Springと他のさまざまなフレームワークの比較を示すグラフです。

以下は調査に基づくグラフです。2016年5月現在。グラフからわかるように、Spring Frameworkはそのドメインで非常に人気があり、tでの位置を維持し続けています。2014年から。

スプリングフレームの理由作品の人気

Spring Frameworkが人気を博している主な理由は、一般的に3つあります。

  1. シンプルさ
  2. テスト可能性
  3. 疎結合

これらのトピックについて詳しく説明しましょう。

シンプルさ: Spring Frameworkは、POJOおよびPOJIモデルを使用するため、非侵襲的であるためシンプルです。

  • POJO(プレーンオールドJavaオブジェクト):Aテクノロジーやフレームワークと結合されていないJavaクラスは 「」 POJO 「」
  • POJI(Plain Old Java Interfaces):テクノロジーやフレームワークと結合されていないJavaインターフェイスはと呼ばれます 「」 POJI 「」

テスト可能性 Sを書くためにアプリケーション、サーバーは必須ではありません。ただし、支柱とEJBアプリケーションの場合、アプリケーションをテストする場合はサーバーが必要です。サーバーを再起動する必要があるたびに、ソースを大幅に変更し、それらの変更を表示する必要がある場合があります。これは面倒で時間がかかります。の場合にはSpring Frameworkには、アプリを実行するための独自のコンテナがありますカチオン。

疎結合: Spring Frameworkは、依存性注入、AOPなどの概念があるため、疎結合です。これらの機能は、依存性を減らし、コード内のモジュール性を高めるのに役立ちます。例を挙げてこれを理解しましょう。

ここに、start()メソッドを持つBikeインターフェースがあります。さらに、ヤマハ、ホンダ、バジャジの3つのクラスで実装されています。

パブリックインターフェイスBike {public void start()}

ここで、クラスRiderは、Bikeインターフェイスを実装する任意のクラスのオブジェクトを作成します。

class Rider {Bike b public void setBike(Bike b){this.b = b} void ride(){b.start()}}

これで、Spring Frameworkコンテナーは、要件に応じて、Bikeインターフェースを実装する任意のクラスのオブジェクトを注入できます。これが疎結合の仕組みです。

javaオブジェクトの配列を作成します

SpringFrameworkアーキテクチャ

上の図からわかるように、Springには、独自の機能を持つさまざまなモジュールで構成される階層化アーキテクチャがあります。これらのモジュールは、次のレイヤーに一般化されています。

  • コアコンテナ
  • データアクセス/統合
  • ウェブ
  • AOP(アスペクト指向プログラミング)
  • 計装
  • テスト。

階層化アーキテクチャを持つことのSpringFrameworkの利点は何ですか?次の点から調べてみましょう。

  • Spring Frameworkは、中間層オブジェクトを効果的に編成します。
  • ランタイム環境に関係なく、SpringFrameworkの構成管理サービスは任意のアーキテクチャーレイヤーで使用できます。
  • Spring Frameworkは、アプリケーション全体で一貫した方法で構成を処理します。これにより、さまざまなカスタムプロパティファイル形式を使用する必要がなくなります。
  • Spring Frameworkは、Spring Frameworkを使用して構築されたアプリケーションが、可能な限り少ないAPIに依存するように設計されています。
  • インターフェイスを使用しているためSpring Frameworkは、優れたプログラミング手法を促進します。

Spring Frameworkとは何かを完全に理解するために、1つの単純なSpringFrameworkアプリケーションを見てみましょう。 5つの簡単な手順に従ってください。

ステップI:Beanクラスを作成する

パッケージorg.edureka.firstSpringpublic class StudentBean {String name public String getName(){return name} public void setName(String name){this.name = name} public void displayInfo(){System.out.println( 'Hello: '+名前)}}

ステップII:XMLファイルを作成する

 

ステップIII:メインクラスを作成する

パッケージorg.edureka.firstSpringimport org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext public class StudentDemo {public static void main(String [] args){ApplicationContext appCon = new ClassPathXmlApplicationContext( 'StudentConfig.xml' )StudentBean factory =(StudentBean)appCon.getBean( 'studentbean')factory.displayInfo()}}

ステップIV:jarファイルをロードします

次のjarファイルをロードします。

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • spring-beans-4.2.2.RELEASE.jar
  • spring-context-4.2.2.RELEASE.jar
  • spring-core-4.2.2.RELEASE.jar
  • spring-expression-4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • spring-webmvc-4.2.2.RELEASE.jar

注意:jarファイルが必要な場合は、以下にコメントしてください。

ステップV:プログラムを実行します

サーバーでプログラムを実行して、アプリケーションをテストします。

Spring Frameworkとは何か、正確にはどのように機能し、何に使用されるのかを明確に説明できたと思います。また、「Spring Frameworkとは」に関するビデオも参照してください。このビデオでは、インストラクターがこのブログで説明されているトピックと実際のデモンストレーションについて説明しています。

JavaのSpringFrameworkとは| SpringFrameworkチュートリアル|エドゥレカ

Spring Frameworkについて詳しく知りたい場合は、このブログシリーズに注目してください。別のブログを作成する予定です。 Springのより高度な概念について説明します。

Springを学び、Javaアプリケーションの開発中にそれを使用したい場合は、 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。

質問がありますか?コメント欄にご記入ください。折り返しご連絡いたします。