核心概述

2018-12-24 21:47 更新

YMP框架主要是由核心(Core)和若干模塊(Modules)組成,核心主要負(fù)責(zé)框架的初始化和模塊的生命周期管理。

主要核心功能

  • Beans:類(lèi)對(duì)象管理器(微型的Spring容器),提供包類(lèi)的自動(dòng)掃描(AutoScan)以及Bean生命周期管理、依賴注入(IoC)和方法攔截(AOP)等特性。

  • Event:事件服務(wù),通過(guò)事件注冊(cè)和廣播的方式觸發(fā)和監(jiān)聽(tīng)事件動(dòng)作,并支持同步和異步兩種模式執(zhí)行事件隊(duì)列。

  • Module:模塊,是YMP框架所有功能特性封裝的基礎(chǔ)形式,負(fù)責(zé)模塊的生命周期管理,模塊將在框架初始化時(shí)自動(dòng)加載并初始化,在框架銷(xiāo)毀時(shí)自動(dòng)銷(xiāo)毀。

  • I18N:國(guó)際化資源管理器,提供統(tǒng)一的資源文件加載、銷(xiāo)毀和內(nèi)容讀取,支持自定義資源加載和語(yǔ)言變化的事件監(jiān)聽(tīng)。

  • Lang:提供了一組自定義的數(shù)據(jù)結(jié)構(gòu),它們?cè)诓糠帜K中起到了重要的作用,包括:

    • BlurObject:用于解決常用數(shù)據(jù)類(lèi)型間轉(zhuǎn)換的模糊對(duì)象。
    • PairObject:用于將兩個(gè)獨(dú)立的對(duì)象捆綁在一起的結(jié)對(duì)對(duì)象。
    • TreeObject:使用級(jí)聯(lián)方式存儲(chǔ)各種數(shù)據(jù)類(lèi)型,不限層級(jí)深度的樹(shù)型對(duì)象。
  • Util:提供框架中需要的各種工具類(lèi)。

Maven包依賴

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

:若想單獨(dú)使用YMP核心包時(shí)需要在pom.xml中添加上述配置,其它模塊已經(jīng)默認(rèn)引入核心包依賴,無(wú)需重復(fù)配置。

框架初始化

YMP框架的初始化是從加載ymp-conf.properties文件開(kāi)始的,該文件必須被放置在classpath的根路徑下;

  • 根據(jù)程序運(yùn)行環(huán)境的不同,YMP框架初始化時(shí)將根據(jù)當(dāng)前操作系統(tǒng)優(yōu)先級(jí)加載配置:

    • Unix/Linux環(huán)境下,優(yōu)先加載 ymp-conf_UNIX.properties;
    • Windows環(huán)境下,優(yōu)先加載 ymp-conf_WIN.properties;
    • 若以上配置文件未找到,則加載默認(rèn)配置 ymp-conf.properties;
  • 框架初始化基本配置參數(shù):

    #-------------------------------------
    # 框架基本配置參數(shù)
    #-------------------------------------
    
    # 是否為開(kāi)發(fā)模式,默認(rèn)為false
    ymp.dev_mode=
    
    # 框架自動(dòng)掃描的包路徑集合,多個(gè)包名之間用'|'分隔,默認(rèn)已包含net.ymate.platform包,其子包也將被掃描
    ymp.autoscan_packages=
    
    # 包文件排除列表,多個(gè)文件名稱之間用'|'分隔,被包含的JAR或ZIP文件在掃描過(guò)程中將被忽略
    ymp.excluded_files=
    
    # 模塊排除列表,多個(gè)模塊名稱或類(lèi)名之間用'|'分隔,被包含的模塊在加載過(guò)程中將被忽略
    ymp.excluded_modules=
    
    # 國(guó)際化資源默認(rèn)語(yǔ)言設(shè)置,可選參數(shù),默認(rèn)采用系統(tǒng)環(huán)境語(yǔ)言
    ymp.i18n_default_locale=zh_CN
    
    # 國(guó)際化資源管理器事件監(jiān)聽(tīng)處理器,可選參數(shù),默認(rèn)為空
    ymp.i18n_event_handler_class=
    
    # 框架全局自定義參數(shù),xxx表示自定義參數(shù)名稱,vvv表示參數(shù)值
    ymp.params.xxx=vvv
    
    # 本文測(cè)試使用的自定義參數(shù)
    ymp.params.helloworld=Hello, YMP!
    
  • 測(cè)試代碼,完成框架的啟動(dòng)和銷(xiāo)毀:

    public static void main(String[] args) throws Exception {
        YMP.get().init();
        try {
            // 輸出自定義參數(shù)值:Hello, YMP!
            System.out.println(YMP.get().getConfig().getParam("helloworld"));
        } finally {
            YMP.get().destroy();
        }
    }
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)