핵심 개요
YMP 프레임워크는 주로 코어(Core)와 여러 모듈(Module)로 구성됩니다. 코어는 주로 프레임워크의 초기화와 모듈의 라이프사이클 관리를 담당합니다.
주요 핵심 기능
Beans: 클래스 객체 관리자(마이크로 Spring 컨테이너), 패키지 클래스 자동 스캔(AutoScan) 및 Bean 수명 주기 관리, 종속성 주입(IoC) 및 메서드 차단(AOP) 및 기타 기능 제공 형질.
이벤트: 이벤트 서비스는 이벤트 등록 및 브로드캐스팅을 통해 이벤트 작업을 트리거 및 모니터링하고 이벤트 큐의 동기 및 비동기 모드 실행을 모두 지원합니다.
모듈은 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>
Note: YMP 코어 패키지만 사용하려면 pom.xml에 위 구성을 추가해야 합니다. 다른 모듈에서는 이미 코어 패키지를 도입했습니다. 기본적으로 종속성이 있으므로 구성을 반복할 필요가 없습니다.
프레임워크 초기화
YMP 프레임워크의 초기화는 클래스 경로의 루트 경로 아래에 배치되어야 하는 ymp-conf.properties 파일을 로드하는 것부터 시작됩니다.
프로그램 실행 환경에 따라, 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(); } }