概要


201612242132437937.png

YMP は、非常にシンプルで使いやすい軽量の JAVA アプリケーション開発フレームワークであり、設計原則は主に作業タスクの簡素化、開発プロセスの標準化、開発効率の向上、開発作業をビルドと同じくらい簡単にすることに重点を置いています。これが私たちがたゆまぬ努力を続けてきた目標です。

主な技術的特徴

  • コンポーネント化されたモジュラーパッケージング方式を採用し、オンデマンドで組み立てることができ、柔軟でスケーラブルです。

  • オートスキャン、AOP、IoC、イベントなどを実装するためにマイクロカーネルを使用し、SSH のほとんどをカバーします。フレームワーク いくつかのコア機能

  • 統合された構成アーキテクチャ、さまざまなファイル リソースの構成と管理モードを体験

  • 複数のログ システム (log4j、jcl、slf4j) を統合し、ログ ファイルを個別に保存できます。永続層のカプセル化、RDBMS (MySQL、SQLServer、Oracle など) と NoSQL (MongoDB、Redis など) のサポートを提供

  • よりきめ細かいビジネス分割を促進します。

    独自の独立したサービス開発経験
  • 完全にJavaアノテーションに基づいた強力な検証フレームワーク、使いやすく拡張可能
  • EhCache、Redis、およびマルチレベルキャッシュ(MultiLevel)テクノロジーをサポートします。
  • シンプルな MVC アーキテクチャの構成、強力で保守と拡張が簡単、RESTful スタイルをサポート、JSP、HTML、バイナリ、フリーマーカー、Velocity およびその他のビュー テクノロジをサポート

  • モジュールと関数

  • YMP フレームワークは次のとおりです。図に示すように、主にフレームワーク コア (Core) といくつかのモジュール (Modules) で構成されます。

フレームワーク コア (Core)

は主に初期化、モジュールのロード、ライフサイクル管理などの機能が含まれます:

201612242130392832.pngクラスオブジェクトマネージャー: Beanライフサイクル管理、依存関係注入、メソッドインターセプトなどのパッケージクラスと機能の自動スキャンを提供します。

イベントサービス: イベント登録とブロードキャストを通じて。イベントアクションをトリガーおよび監視する方法であり、イベントキューの同期および非同期実行の 2 つのモードをサポートします。
モジュール: YMP フレームワークのすべての機能をカプセル化する基本形式であり、モジュール;

International Resource Manager: 統合されたリソース ファイルの読み込み、破棄、コンテンツの読み取りを提供し、言語変更のためのカスタム リソースの読み込みとイベントの監視をサポートします
  • さらに、カスタム データ構造のセットと、必要なさまざまなツール クラスを提供します。フレームワーク
  • 構成システム
  • は、シンプルなディレクトリ構造を通じて、プロジェクト開発およびメンテナンス中の構成などのさまざまなファイルリソースの統合管理を実現し、モジュール式の開発およびデプロイメントのための柔軟でシンプルかつ効果的なソリューションを提供します:
    • 標準化されたモジュール型開発プロセスと統合されたリソースファイル管理
    • 効果的なリソースの再利用と柔軟なシステム統合の構築、展開、データのバックアップと移行の利点があります
    • シンプルな構成ファイルの取得、ロード、および管理モード。モジュール間では、モジュールは、所属するプロジェクトの構成、クラス、jar パッケージなどのリソース ファイルを共有できます。
    • デフォルトで XML およびプロパティ構成ファイルの解析をサポートし、IConfigurationProvider インターフェイスを通じてファイル形式をカスタマイズでき、キャッシュをサポートします。繰り返しのロードを回避します。
    • 設定オブジェクトはアノテーション宣言をサポートし、コーディングなしで設定コンテンツを自動的にロードしてクラス オブジェクトに入力できます。
    • 統合されたモジュールの構築と配布、サービスの開始と停止*、および明確なリソース ファイルの分類構造を迅速に実行できます。
    Log
オープンソースのログ フレームワーク Log4J 2 に基づいて実装されており、任意の場所でロガー オブジェクトを呼び出してログを出力でき、システム ログとビジネス ログの分離を実現します。 apache-commons-logging ロギング フレームワークと slf4j ロギング システムがサポートを提供します。使いやすさと透明性により、次の機能的特徴があります:

JDBC フレームワーク API に基づく軽量パッケージ化、シンプルな構造、開発、デバッグ、保守が容易
最適化されたバッチデータ更新、標準化された結果セット、プリコンパイル SQL。ステートメント処理;
SQL ステートメントを作成せずに単一エンティティ ORM 操作をサポートします。
データ エンティティ クラスを迅速に生成するためのスキャフォールディング ツールを提供し、チェーン呼び出しをサポートします。

メモリ アノテーションによる SQL ステートメントのカスタマイズと自動的に実行される;
  • 結果セットと値オブジェクトの自動アセンブリをサポートし、カスタム アセンブリ ルールをサポートします。
  • 複数のデータ ソースをサポートし、デフォルトで C3P0、DBCP、JNDI 接続プール構成をサポートし、複数のデータベースをサポートします。例: Oracle、MySQL、SQLServer など);
  • オブジェクト指向のデータベース クエリのカプセル化をサポートし、プログラムのコンパイル エラーを軽減します。
  • データベース ストアド プロシージャをサポートします。
  • MongoDB
  • MongoDB のデータ アクセス操作の特性を考慮して、JDBC モジュールの設計思想で単純にカプセル化されており、セッション メカニズムを使用して、マルチ データ ソース構成とエンティティ操作をサポートし、オブジェクト ベースです。クエリ、MapReduce、GridFS、集計と関数式の統合などは、さらに改良する必要があります。ドキュメントは現在編集中ですので、しばらくお待ちください...
  • Redis
  • は、Jedisドライバーのカプセル化に基づいています。セッションメカニズムを採用し、複数のデータソースと接続プール構成をサポートしていますが、まだ改良が必要です。さらなる改良と改善が行われ、ドキュメントが整理されていますので、ご期待ください...
Plugin (プラグイン)

は、独立した ClassLoader クラスローダーを使用して、プライベート JAR パッケージ、クラス、リソース ファイルなどを管理します。設計目標は、インターフェイス開発モードで要件をより細かい粒度に分割して、次のことを達成することです。 a 再利用可能なコードの理想的なカプセル化形式

各プラグインは閉じた世界であり、外部と通信する唯一の方法は、これらのプラグインを管理するコンテナーであり、プラグイン ファクトリと呼ばれます。プラグインの分析、ロード、初期化、およびプラグインのライフサイクル管理を担当します。プラグイン モジュールは、複数のプラグイン ファクトリ インスタンスの作成をサポートしており、ファクトリ オブジェクトは完全に独立しています。依存関係なし;

Service (Serv)

NIO に基づく一連の実装 通信サービス フレームワークは、TCP および UDP プロトコルのクライアントとサーバーのカプセル化、柔軟なメッセージ モニタリング、およびメッセージ コンテンツのエンコード/デコードを提供し、シンプルな構成でセカンダリを実現します。開発がより便利になります

同時に、デフォルトで切断再接続とチェーン化およびその他のサービスサポートが提供されるため、ビジネスを理解するだけで開発作業を簡単に完了できます。

Validation

サーバー側パラメータ有効性検証ツールは、アノテーション宣言を使用して検証ルールを構成します。これは、メソッドパラメータとクラスメンバー属性の検証をサポートし、検証結果の国際化をサポートします。 I18N リソース バインディング、カスタム バリデータのサポート、複数の検証モードのサポートMagnitude キャッシュ フレームワークと YMP フレームワークとの緊密な統合 (クラス メソッドのキャッシュをサポートし、メソッド パラメーター値に基づいてキャッシュ可能)、柔軟な構成、使いやすく拡張しやすい

WebMVC フレームワーク

YMP フレームワークの WebMVC モジュール。これは、JDBC モジュールに加えて、YMP フレームワークの多くの機能を統合しており、機能構造の設計と使用において一貫したシンプルなスタイルを維持しています。また、主流の MVC フレームワークの遺伝子も継承しています。 SSH やその他のフレームワーク テクノロジに精通している開発者であれば、非常に簡単に始めることができ、学習コストもかかりません。

主な機能特徴は次のとおりです:
標準の MVC 実装、明確な構造、完全にアノテーションに基づくシンプルな構成

コンベンション モードをサポート、コントローラー コードを記述する必要がなく、直接一致してビューを実行します。ビューテクノロジー (JSP、Freemarker、Velocity、Text、HTML、JSON、Binary、Forward、Redirect、HttpStatus など);

RESTful モードと URL スタイルをサポート
  • リクエストパラメーターとコントローラーメソッドパラメーターの自動バインドをサポートします。
  • コントローラー メソッドのインターセプトをサポートします。
  • コントローラー クラスの自動スキャンと登録をサポートします。
  • I18N リソースをサポートします。国際化;
  • はコントローラー メソッドとビュー キャッシュをサポートします。
  • はプラグイン拡張をサポートします。

    One More Thing

    YMP は、Web およびその他の Java プロジェクトに便利で迅速な開発エクスペリエンスを提供するだけでなく、より豊富なプロジェクトの実践的なエクスペリエンスも提供し続けます。

    興味のある友達は公式 QQ グループ 480374360 に参加して、コミュニケーションをとり、一緒に学び、YMP の成長を支援することができます。

    YMP フレームワークの詳細については、公式 Web サイトをご覧ください: http://www.ymate.net/