핵심 개요


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();
        }
    }