MPSDK4J

JAVA微信公平台开发SDK
授权协议 Apache
开发语言 Java
所属分类 手机/移动开发、 微信开发/微信公众号开发
软件类型 开源软件
地区 国产
投 递 者 权浩邈
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

MPSDK4J 是 JAVA 微信公平台开发 SDK,没有复杂的功能,一切源于微信 API。

1.介绍

MPSDK4J,非常直观的阐述了此项目的意义所在。没错,它就是JAVA语言环境下的微信公众平台开发SDK。其中MP代表的是微信公众平台的域名前缀,SDK表示开发工具包,4同音英文“for”,J代表了JAVA。虽然现网络上已经有不少JAVA版本的SDK现身,但是***[MPSDK4J]*** 的出现也并非只是造轮子的重复工作。它遵循单一设计模式规则,所有的设计与功能都是源于微信公众平台API,一切都是为了追求简单与速度。

    a.设计简单:整体设计非常的简单,仅有7个包39个类对象(其中VO对象占据一半之多,详见结构设计图),核心功能部分就4类(WxBase,WxApi,WxOpenApi,WxHandler);
     b.解析速度:基本SAX驱动式XML处理,结合JDK7的新特性,能够快速的解析收到用户发送的微信消息,放弃JAVA反射功能直接编码生成VO对象更加快速; 
    c.敏捷开发:微信交互信息全都统一封装VO对象,所有VO的属性都是微信公众平台API原生状态。开发者无须再关心它来源是XML还JSON格式,其中消息的收发只需掌握2个VO(ReceiveMsg,OutPutMsg)即可; 
    d.支持力度:API功能分为三个部分(后续会不断更新升级),微信基本消息的交互,高级接口(Token,自定义菜单,模板消息,群发消息等等)及开放平台功能接口的调用。

2. 结构设计

 

3. 交互时序图

4. 示例代码

MPSDK4J在Web环境中暂时提供了以下三种支持,欢迎提交其它环境扩展。在实际的使用过程中只需要继承相应环境的Wx***Support父类,重写init初始化方法修改其中的公众号信息及微信消息处理器,添加环境的入口(Servlet环境无需此步骤),调用wxInteract方法,最后发布上线即可。

4.1 HttpServlet环境

@WebServlet(name = "weixinServlet", urlPatterns = "/weixin/mp/core.ser")
public class WeiXinServlet extends WxServletSupport {

    @Override
    public void init() throws ServletException {
        super.init();
        MPAct mpAct = new MPAct();
        // 修改为实际的公众号信息,可以在开发者栏目中查看
        mpAct.setAppId("wx****");
        mpAct.setAppSecert("***");
        mpAct.setToken("***");
        mpAct.setAESKey("******");
        this.setMpAct(mpAct);
        // 可实现自己的WxHandler
        this.setWxHandler(new WxDefaultHandler());
    }
}

4.2 SpringMVC环境

@Controller
@RequestMapping("/weixin/mp")
public class WeiXinController extends WxSpringSupport {

    @Override
    protected void init() {
        MPAct mpAct = new MPAct();
        // 修改为实际的公众号信息,可以在开发者栏目中查看
        mpAct.setAppId("wx****");
        mpAct.setAppSecert("***");
        mpAct.setToken("***");
        mpAct.setAESKey("******");
        this.setMpAct(mpAct);
        // 可实现自己的WxHandler
        this.setWxHandler(new WxDefaultHandler());
    }

    @RequestMapping(value = "/core",produces = {"text/plain;charset=UTF-8"})
    @ResponseBody
    public String wxCore(HttpServletRequest req) {
        String reply = "";
        try {
            reply = wxInteract(req);
        } catch (IOException e) {
            log.error(e.getLocalizedMessage(), e);
        }
        return reply;
    }
}

4.3 Struts2环境

public class WeiXinAction extends WxStruts2Support {

    @Override
    protected void init() {
        super.init();
        MPAct mpAct = new MPAct();
        // 修改为实际的公众号信息,可以在开发者栏目中查看
        mpAct.setAppId("wx****");
        mpAct.setAppSecert("***");
        mpAct.setToken("***");
        mpAct.setAESKey("******");
        this.setMpAct(mpAct);
        // 可实现自己的WxHandler
        this.setWxHandler(new WxDefaultHandler());
    }

    public void wxCore() throws IOException {
        wxInteract();
    }
}

5. ISSUE

BUG提交:https://gitee.com/lisenhui/mpsdk4j/issues

 相关资料
  • 本文向大家介绍Java微信公众平台开发(1) 接入微信公众平台,包括了Java微信公众平台开发(1) 接入微信公众平台的使用技巧和注意事项,需要的朋友参考一下 前面几篇文章一直都在说微信公众平台的开发准备工作,那么从这篇开始我们就将正式的进入JAVA微信公众平台开发的整个流程,那么这篇我们开始聊聊如何将我们的服务端和微信公众平台对接! (一)接入流程解析 在我们的开发过程中无论如何最好的参考工具当

  • 本文向大家介绍PHP技术开发微信公众平台,包括了PHP技术开发微信公众平台的使用技巧和注意事项,需要的朋友参考一下 下面通过图文并茂的方式介绍微信公众平台开发过程,具体内容如下: 微信公众平台有两种模式:编辑模式 和 开发模式。 普通的功能可以通过编辑模式来搞定。开发模式具有更多的功能。让我们来使用开发模式开发helloword吧 步骤如下: 第一步:先注册一个公众号(https://mp.wei

  • 本文向大家介绍node.js微信公众平台开发教程,包括了node.js微信公众平台开发教程的使用技巧和注意事项,需要的朋友参考一下 用nodejs怎样来实现对微信公众平台的开发呢?   别的就不多说了,先来简单介绍微信公众平台的基本原理。   微信服务器就相当于一个转发服务器,终端(手机、Pad等)发起请求至微信服务器,微信服务器,然后将请求转发给自定义服务(这里就是我们的具体实现)。服务处理完毕

  • 微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的文字、图片、语音的全方位沟通、互动。 微信公共平台开发模式Node.js SDK var http = require('http');var wechat = require('./wechat');http.createServer(function (req, res)

  • 微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的文字、图片、语音的全方位沟通、互动。 微信公共平台开发模式(JAVA) SDK 实现MessageProcessingHandler接口,配置wechat.properties 在web.xml配置过滤器

  • 本文向大家介绍php微信公众平台开发类实例,包括了php微信公众平台开发类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php微信公众平台开发类。分享给大家供大家参考。具体分析如下: ThinkWechat.php类文件如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍微信公众平台开发 数据库操作,包括了微信公众平台开发 数据库操作的使用技巧和注意事项,需要的朋友参考一下 一、简介 前面讲解的功能开发都是简单的调用API 完成的,没有对数据库进行操作。在接下来的高级功能开发中,需要使用到数据库,所以在这一篇中,将对MySQL 数据库的操作做一下简单的介绍,以供读者参考。 二、思路分析 百度开发者中心提供了强大的云数据库(包括MySQL, Mongo

  • 本文向大家介绍.net开发微信公众平台实例教程,包括了.net开发微信公众平台实例教程的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了.net开发微信公众平台的方法。分享给大家供大家参考。具体实现方法如下: 一、说明: 公众平台信息接口为开发者提供了一种新的消息处理方式,只有申请成为开发者后,你才能使用公众平台的开发功能,在这里你需要填写一个URL和一个Token,这两项信息也需要你拥有自