java公众号开发 sdk_MPSDK4J

软件简介

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. 结构设计

fe910b90de42272e182afb58a2326ef4.png

3. 交互时序图

886801972865f2ac08e80e4ae2190bbf.png

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

6.联系

特别希望看到该项目对您哪怕一点点的帮助。你有任何的想法和建议,除以上Issue提交外,也随时欢迎与我沟通,联系方式:

QQ: 2292706174

7. 邀请

现这个项目在还在发展期, 期待你有更加好的IDEA, 也期待你能加入, 谢谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值