• javashop组件开发指南


                              javashop组件开发指南

    1、      概念解释

             组件:可以理解为是插件,功能点的一个集合。

             插件:是指具体的某个功能。

             插件桩:是负责调用插件。

             事件:是要决定什么时候执行插件

             一个组件是由多个插件组成,一个插件有多个插件桩,一个插件桩对应多个插件,插件和插件桩是多对多关系。

         

    2、组件开发

             1、新建组件项目,定义为demo组件。如图:

        

    组件的包名必须符合一定的规则,EOP机制才会识别这些组件。

    以com.enation开头。例:

    com.enation.app.groupbuy.component     组件包

    com.enation.app.groupbuy.component.plugin        插件包

    2、          建立组件类

    如图:

     

    ▪  2.1、实现IComponent接口

    组件类必须实现

    此接口的install和uninstall方法在组件被安装和卸载时会被调用,你可以在需要时在此执行sql创建数据库结构,或者作一些你想做的事。

    ▪  2.2、用@Component注解来标记

    EOP组件机制使用Spring自动化扫描注解的机制来完成组件的扫描的,应此需要使用@Component注解来标记此组件类。要确保此类的beanid要保持唯一

     

    3、          建立component.xml文件

             component.xml文件位于和上述组件同级目录

             用于描述组件信息及组件包涵的插件

             我们暂时只定义组件本身的配置,插件稍后配置,如图

     

    <?xml version="1.0" encoding="UTF-8"?>

    <component name="demo组件"  version="1.0" javashop_version="3.0.0" author="javashop">

    </component>

    验证组件是否正常

             3.1、添加依赖,将我们的组件添加到b2b2c中,如图

     

             3.2、启动项目查看组件是否可以正常安装 卸载 启用 停用

     

    执行安装和卸载分别打印出安装 卸载方法

     

    组件开发成功!

    4、          开发插件(实现会员登录发短息提醒)

    插件是基于事件机制来运转的

    4.1、插件必须继承于AutoRegisterPlugin 且选择性实现IMemberLoginEvent

    注意插件类必须符合两个规范:

    ▪  1、继承AutoRegisterPlugin

    继承此类才成为一个EOP的插件,系统会自动识别后,将其插入相应的业务插件桩中,将来在业务被调用。

     

    ▪  2、用@Component注解来标记

    同样地,EOP插件机制使用Spring自动化扫描注解的机制来完成插件的扫描的,应此需要使用@Component注解来标记此插件类。

          4.2、配置component.xml   如图:

    <plugins>

          <plugin name="demo插件" id="smsSendPlugin">

              <bundle id="memberPluginBundle"></bundle>

          </plugin>

    </plugins>

    nam:插件的名称

    id :具体的插件beanid

    bundle:插件桩

    各应用事件及插件桩集合

    http://javamall.com.cn/help/index.php/EOP

    各应用事件及插件桩集合

    启动,运行程序,将此组件安装并执行登录操作

     由上图看出我们的此插件已经被正确执行!

    ------------------------------

     

    本人微信公众帐号: 心禅道(xinchandao)

    本人微信公众帐号:双色球预测合买(ssqyuce)

  • 相关阅读:
    pugixml
    C++ 头文件的理解
    图像的特征
    光圈与景深
    Unix高级环境编程
    用libtommath实现RSA算法
    【linux+C】神器 vim + 指针相关客串
    【算法25】对称子字符串的最大长度
    设计并实现同时支持多种视频格式的流媒体点播系统
    递归再一次让哥震惊了
  • 原文地址:https://www.cnblogs.com/zdz8207/p/java-javashop-component.html
Copyright © 2020-2023  润新知