-
Notifications
You must be signed in to change notification settings - Fork 47
JPlugin Core 入门教程
sunlet edited this page May 29, 2022
·
25 revisions
本教程假定你对Jplugin的开发环境搭建和运行已经有基本掌握,如果没掌握,请参照参照 环境搭建与快速体验-创建HelloWord工程
JPlugin相关的核心概念包括三个:插件、扩展点、扩展。这些核心概念导致JPlugin和Spring以及其他传统开发方式的不同,支撑JPlugin特殊的架构优势。这里简单说一下插件的概念,另外两个概念在其他文档说明。
关于插件
- 插件是组成JPlugin应用系统的单位,我们基于Jplugin开发应用就是要开发一些插件。其实,JPlugin-core、JPLugin-das、JPlugin-mvc本身也是一些列插件(Plugin)。
- 每一个插件由插件类和插件资源组成。插件类一般命名为Plugin.java,插件资源为Plugin.java所在的包以及子包所包含的所有代码。 插件资源往往提供一系列的扩展点和扩展,这些扩展点和扩展可以用编码的方式在Plugin.java当中说明,不过目前更常用的是用注解直接标注。
- 系统启动时,Plugin.JAVA启动过程中会扫描插件资源,加载扩展和扩展点。系统启动过程会打印各个插件的启动日志。另外,我们也可以通过配置禁用一些插件,插件被禁用后,虽然系统classpath当中仍然有对应的资源类,其中的插件资源就不会被加载了。
虽然Jplugin支持用纯编码方式开发,新版本推荐使用注解来使用JPlugin。注解具有低侵入性、便捷等优点。 JPlugin-core支持的注解包括基础注解、插件式开发注解、拦截器注解、高级注解。
-
基础注解是开发中常用的注解,包括插件注册、服务开发、配置、日志等,掌握基础注解,就能够按照传统方式完成日常开发需求。
-
插件式开发注解,这些注解体现JPlugin的核心能力,让开发者开发出易扩展、低耦合的系统。
-
拦截器注解,支持快捷开发针对JPlugin Extension的AOP拦截开发。
-
特殊注解。用以解决一些特殊需求。 本教程介绍基础注解和特殊注解, 插件式开发注解、拦截器注解 在JPlugin-core 插件式设计与开发 介绍。
-
基础注解
- @PluginAnnotation
- @BindService
- @RefService
- @RefConfig
- @RefLogger
-
特殊注解
- @SetExtensionId
-
插件式开发注解
- @BindExtension
- @BindExtensionPoint
-
拦截器注解
- @BindExtensionInterceptor
- @SetExtensionPriority
@PluginAnnotation