核心概述
YMP框架主要是由核心(Core)和若干模块(Modules)组成,核心主要负责框架的初始化和模块的生命周期管理。
主要核心功能
Beans:类对象管理器(微型的Spring容器),提供包类的自动扫描(AutoScan)以及Bean生命周期管理、依赖注入(IoC)和方法拦截(AOP)等特性。
Event:事件服务,通过事件注册和广播的方式触发和监听事件动作,并支持同步和异步两种模式执行事件队列。
Module:模块,是YMP框架所有功能特性封装的基础形式,负责模块的生命周期管理,模块将在框架初始化时自动加载并初始化,在框架销毁时自动销毁。
I18N:国际化资源管理器,提供统一的资源文件加载、销毁和内容读取,支持自定义资源加载和语言变化的事件监听。
-
Lang:提供了一组自定义的数据结构,它们在部分模块中起到了重要的作用,包括:
- BlurObject:用于解决常用数据类型间转换的模糊对象。
- PairObject:用于将两个独立的对象捆绑在一起的结对对象。
- TreeObject:使用级联方式存储各种数据类型,不限层级深度的树型对象。
Util:提供框架中需要的各种工具类。
maven包依赖
<dependency> <groupId>net.ymate.platform</groupId> <artifactId>ymate-platform-core</artifactId> <version>2.0-SNAPSHOT</version> </dependency>
注:若想单独使用YMP核心包时需要在pom.xml中添加上述配置,其它模块已经默认引入核心包依赖,无需重复配置。
框架初始化
YMP框架的初始化是从加载ymp-conf.properties文件开始的,该文件必须被放置在classpath的根路径下;
-
根据程序运行环境的不同,YMP框架初始化时将根据当前操作系统优先级加载配置:
- 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!
-
测试代码,完成框架的启动和销毁:
public static void main(String[] args) throws Exception { YMP.get().init(); try { // 输出自定义参数值:Hello, YMP! System.out.println(YMP.get().getConfig().getParam("helloworld")); } finally { YMP.get().destroy(); } }