コアの概要


YMP フレームワークは主にコア (Core) といくつかのモジュール (Modules) で構成されます。コアは主にフレームワークの初期化とモジュールのライフサイクル管理を担当します。

主なコア機能

  • Beans: クラスオブジェクトマネージャー (マイクロ Spring コンテナー)、パッケージクラスの自動スキャン (AutoScan)、Bean ライフサイクル管理、依存関係注入 (IoC)、およびメソッドインターセプト (AOP) を提供します。などの特徴があります。

  • イベント: イベント サービスは、イベント登録とブロードキャストを通じてイベント アクションをトリガーおよび監視し、同期モードと非同期モードの両方でイベント キューの実行をサポートします。

  • モジュール: モジュールは、YMP フレームワークのすべての機能をカプセル化する基本的な形式であり、モジュールのライフサイクル管理を担当します。モジュールは、フレームワークの初期化時に自動的にロードされ、初期化されます。フレームワークが破棄されると自動的に破棄されます。

  • I18N: インターナショナル リソース マネージャー。統合されたリソース ファイルの読み込み、破棄、コンテンツの読み取りを提供し、カスタム リソースの読み込みと言語変更のイベント監視をサポートします。

  • Lang: 以下を含む、一部のモジュールで重要な役割を果たす一連のカスタム データ構造を提供します。

    • BlurObject: 一般的なデータ型間の変換を解決するために使用されるぼかしオブジェクト。
    • PairObject: 2 つの独立したオブジェクトを一緒にバンドルするために使用されるペア オブジェクト。
    • TreeObject: カスケード メソッドを使用して、階層の深さに制限なくさまざまなデータ型のツリー オブジェクトを保存します。
  • Util: フレームワークで必要なさまざまなツールクラスを提供します。

Maven パッケージの依存関係

<dependency>
    <groupId>net.ymate.platform</groupId>
    <artifactId>ymate-platform-core</artifactId>
    <version>2.0-SNAPSHOT</version>
</dependency>

: YMP コア パッケージを単独で使用したい場合は、他のモジュールが既にコア パッケージを導入している場合に上記の設定を追加する必要があります。デフォルトでは依存関係があるため、構成を繰り返す必要はありません。

フレームワークの初期化

YMP フレームワークの初期化は、ymp-conf.properties ファイルをロードすることから始まります。このファイルは、クラスパスのルート パスの下に配置する必要があります。

  • フレームワークが初期化されます。 設定は、現在のオペレーティング システムの優先順位に従ってロードされます。

    • Unix/Linux 環境では、ymp-conf_UNIX.properties が最初にロードされます。
    • Windows 環境では、ymp-conf_WIN.properties がロードされます。最初にロードされます。
    • 上記の設定ファイルが見つからない場合は、デフォルト設定 ymp-conf.properties をロードします。
  • フレームワーク初期化の基本的な設定パラメータ:

  • テストコード、フレームワークの起動と破棄を完了します:
  • #-------------------------------------
    # 框架基本配置参数
    #-------------------------------------
    
    # 是否为开发模式,默认为false
    ymp.dev_mode=
    
    # 框架自动扫描的包路径集合,多个包名之间用'|'分隔,默认已包含net.ymate.platform包,其子包也将被扫描
    ymp.autoscan_packages=
    
    # 包文件排除列表,多个文件名称之间用'|'分隔,被包含的JAR或ZIP文件在扫描过程中将被忽略
    ymp.excluded_files=
    
    # 模块排除列表,多个模块名称或类名之间用'|'分隔,被包含的模块在加载过程中将被忽略
    ymp.excluded_modules=
    
    # 国际化资源默认语言设置,可选参数,默认采用系统环境语言
    ymp.i18n_default_locale=zh_CN
    
    # 国际化资源管理器事件监听处理器,可选参数,默认为空
    ymp.i18n_event_handler_class=
    
    # 框架全局自定义参数,xxx表示自定义参数名称,vvv表示参数值
    ymp.params.xxx=vvv
    
    # 本文测试使用的自定义参数
    ymp.params.helloworld=Hello, YMP!