- 授权协议: Apache
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: http://git.oschina.net/lisenhui/mpsdk4j/
- 软件文档: http://git.oschina.net/lisenhui/mpsdk4j/wikis/home
软件介绍
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://git.oschina.net/lisenhui/mpsdk4j/issues
6.联系
特别希望看到该项目对您哪怕一点点的帮助。你有任何的想法和建议,除以上Issue提交外,也随时欢迎与我沟通,联系方式:
Email: elkan1788@gmail.com
QQ: 2292706174
7. 邀请
现这个项目在还在发展期, 期待你有更加好的IDEA, 也期待你能加入, 谢谢.
Data Mining
Jiawei Han、Micheline Kamber、Jian Pei / Morgan Kaufmann / 2011-7-6 / USD 74.95
The increasing volume of data in modern business and science calls for more complex and sophisticated tools. Although advances in data mining technology have made extensive data collection much easier......一起来看看 《Data Mining》 这本书的介绍吧!
