この記事の内容は、Java Web で最も一般的に使用されているフレームワークは何かということです。一定の参考値があるので、困っている友人は参考にしていただければ幸いです。
Java はオープン ソースであり、多くのフレームワークがあります。これらのフレームワークは、特定の問題を解決し、開発効率を向上させ、コードの複雑さを簡素化します。現在、誰もが一般的に使用している多くの主流フレームワークに加えて、多くの企業が独自のフレームワークを開発 企業は社内フレームワークの一部をカスタマイズしますが、学習者として、Javaweb がどのようなフレームワークを学習する必要があるかを最初に理解する必要があります。
この質問に答える前に、まずプロジェクトの規模を確認する必要があります。「ボリューム」が小さい単一アプリケーション プロジェクトの場合、学習および使用されるフレームワークは、大量の処理を必要とする分散プロジェクトとは依然として異なります。データ量と高い同時実行性。
「ボリューム」が小さい単一アプリケーション プロジェクトの場合:
ORM タイプのフレームワークでは、多くの Java Web プログラムでリレーションシップを使用する必要があります。データベースはデータの永続化に使用されるため、この種のデータベース操作が必要なフレームワーク、つまり JDBC をカプセル化する ORM フレームワークについては学習する必要がありますが、現在よく使われているのは SQL ベースの mybatis フレームワークです。軽量 ORM フレームワークは学習と使用が比較的簡単で、同じタイプの Hibernate フレームワークもあります。
MVC フレームワークでは、MVC はプログラムを論理的にビュー層、コントロール層、モデル層に分割し、各層が独自の役割を果たし、相互依存ではなく相互呼び出しの関係にあります。このモデルは、要件の変化やソフトウェアのアップグレードにうまく適応できます。現在最も広く使用されている MVC フレームワークは Spring MVC フレームワークであり、このフレームワークには明確な役割分担、強力かつ直接的な構成方法、効率的なバインディングと検証など、多くの利点があります。以前の Struts2 フレームワークも MVC フレームワークです。
Spring フレームワーク、実際、多くの Java 実践者は Spring を避けることができません。Spring ファミリには多くの「ツール」があります。プロセス指向からオブジェクト指向に変わることは、プログラミングの考え方にとって大きな進歩です。プログラムはますます複雑になり、オブジェクトはますます多くなり、これらのオブジェクトの効率的な「管理」とアプリケーションがますます重要になってきています。Spring の IoC は、オブジェクトの作成と「管理」を Spring コンテナに引き渡すことです。制御の反転を達成すると同時に、値を挿入するさまざまなメソッド (DI) を提供します。これにより、作業が大幅に改善され、簡素化されます。これは、JavaWeb が学ぶ必要がある Spring の IoC/DI です。プログラムのビジネスがより重要な場合、コア機能の完成に加えて、完全なインジェクション例外処理、ロギング、トランザクション処理などの従来の機能も必要となり、これらの従来の操作は比較的エネルギーを消費しますが、SpringAOP (アスペクト指向プログラミング) はこの問題を解決します。
Javaweb は、いくつかのフロントエンド フレームワークを学習する必要があります。特に、質問で言及されているデータ インターフェイスが作成されている場合、または単純なバックエンドがある場合、プロジェクトが次のような場合は、フロントエンド フレームワーク jQuery を学習する必要があります。効率性を考慮してフロントエンドとバックエンドを分離する必要がある場合は、vue などのフレームワークを学ぶことができます。
大量のデータと高い同時実行性を備えた分散プロジェクトの場合、このタイプのプロジェクトの特徴は、ダブル イレブン アリババなど、前述したように処理する必要がある大量のデータです。 12306 チケットの取得などの注文データを処理する必要があります。
Redis は、クエリ効率を向上させるキャッシュ データベース フレームワークです。このフレームワークは、データ読み取り効率を向上させるために単一のアプリケーションで使用することもできます。まず、リレーショナル データベースから Redis を通じてデータをキャッシュに保存し、次にキャッシュから読み込むため、ハードディスクから直接読み込むよりもはるかに高速にデータを取得できます。また、Redis はクラスタ内でマスター/スレーブサーバーを構成することもできるため、非常に便利です。 memcached フレームワーク;
分散型の中で、サービス クラスターでの負荷分散は特に重要です。Nginx は、複数の負荷分散アルゴリズムをサポートする高性能 HTTP およびリバース プロキシ サービス フレームワークです。
メッセージ キューフレームワーク:RabbitMQ、ActiveMQ、RocketMQなど 電子商取引システムでは、注文決済後にポイント変更などの操作を行う必要があり、その操作量は膨大であり、当然ながら現実的ではありません。ポイント変更完了後、決済成功をユーザーに通知しますが、この時点ではポイントの変更操作はメッセージキューに任せて完了します。
検索フレームワークは、検索の効率を向上させるために、検索インデックス ライブラリと中国語の検索単語のセグメント化を作成するために、Solr フレームワークを使用できます。これは、ファイル使用 システム フレームワーク Fastdfs
Spring boot フレームワークは、Spring の複雑な構成を簡素化し、Thymeleaf テンプレートを提供します。多くのマイクロサービスは Springboot に基づいています;
マイクロサービス フレームワークは、アプリケーションをいくつかに分割します。個別に提供された後、高い同時実行性と大量のデータ処理に適していますが、マイクロサービスの管理も非常に重要です。現在、サービス登録とサービス監視に基づくフレームワークには、Dubbo Zookeeper と SpringCloud が含まれます。 SpringCloudHystrix、SpringCloudZuul、SpringCloud Config、SpringCloud ZipKin、SpringCloud Sleuth など;
その他のフレームワークには、ロギング、認証用の log4j フレームワーク、認可用の Roku フレームワークなど、プロジェクト固有の要件に基づいた多くのフレームワークがあります。 、ワークフロー処理などのActiveフレームワーク。
要約すると: フレームワークを学習する最良の方法は、実際のプロジェクトに適用することです。これにより、フレームワークの原理と適用プロセスについて良い学習効果が得られます。簡単なデモをいくつか実行するだけで、多くのアプリケーションが存在します。フレームワークのシナリオ、最適化、注意事項などの学習が不完全です。
以上がJava Web で最もよく使用されるフレームワークは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。