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)

javashop组件开发指南的更多相关文章

  1. Blazor 模板化组件开发指南

    翻译自 Waqas Anwar 2021年4月15日的文章 <A Developer's Guide To Blazor Templated Components> [1] 在我之前的一篇 ...

  2. Blazor 组件库开发指南

    翻译自 Waqas Anwar 2021年5月21日的文章 <A Developer's Guide To Blazor Component Libraries> [1] Blazor 的 ...

  3. jQuery MiniUI 开发指南+API组件参考手册

    jQuery MiniUI 开发指南 本文档将逐步的讲解jQuery MiniUI的方方面面,从此您将踏上jQuery MiniUI的深入探索之旅.                 1.Hello M ...

  4. Delphi for iOS开发指南(8):在iOS应用程序中使用Tab组件来显示分页

    Delphi for iOS开发指南(8):在iOS应用程序中使用Tab组件来显示分页 在FireMonkey iOS应用程序中的Tab Tab由FMX.TabControl.TTabControl定 ...

  5. Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件

    Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件 在FireMonkey iOS应用程序中使用WebBrowser 在iOS平台上,FireMonkey使用T ...

  6. Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项

    http://blog.csdn.net/delphiteacher/article/details/8924110 Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox ...

  7. Delphi组件开发教程指南目录

    用Delphi开发的时间也不短了!刚接触Delphi的时候,就觉得组件这个东西非常方便!根本不必知道组件内部的作为,只要使用就好了!然而用的多了,也不免会对各种delphi组件的内部实现方式产生兴趣! ...

  8. HarmonyOS三方件开发指南(14)-Glide组件功能介绍

    <HarmonyOS三方件开发指南>系列文章合集 引言 在实际应用开发中,会用到大量图片处理,如:网络图片.本地图片.应用资源.二进制流.Uri对象等,虽然官方提供了PixelMap进行图 ...

  9. HarmonyOS三方件开发指南(19)-BGABadgeView徽章组件

    目录: 1.引言 2.功能介绍 3.BGABadgeView 使用指南 4.BGABadgeView 开发指南 5.<HarmonyOS三方件开发指南>系列文章合集 引言 现在很多的APP ...

随机推荐

  1. github相关资料记录

    github官方配ssh api:https://help.github.com/articles/generating-ssh-keys 简书hexo静态博客搭建:http://www.jiansh ...

  2. poj3252Round Numbers【组合数】【数位dp】

    Round Numbers The cows, as you know, have no fingers or thumbs and thus are unable to play Scissors, ...

  3. oracle 日期格式化和数据去重

    1.获取系统日期: select sysdate as date1 from dual: 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINU ...

  4. linux系统下top命令参数详解

    简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...

  5. cocoapods卸载与安装

    引用自:https://www.aliyun.com/jiaocheng/389907.html 一.首先卸载pod which pod 得到pod的路径 sudo rm -rf <pod的路径 ...

  6. vue - vue-cli脚手架安装和webpack-simple模板项目生成

    ue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目. GitHub地址是:https://github.com/vuejs/vue-cli 一.安 ...

  7. 安装crf++的python包

    在Linux上可以在taku910的github博客(https://taku910.github.io/crfpp/)下载crf++的linux版本,然后按照python文件夹下的README编译安 ...

  8. Fire Game--FZU2150(bfs)

    http://acm.fzu.edu.cn/problem.php?pid=2150 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=659 ...

  9. java.io.File实战

    There are many things that can go wrong: A class works in Unix but doesn't on Windows (or vice versa ...

  10. mysql中的日志

    关键词:mysql日志,mysql四种日志 一.mysql日志的种类 (1)一般来说,日志有四种,分别为: 1.错误日志:log-err (记录启动,运行,停止mysql时出现的信息) 2.二进制日志 ...