当前位置:网站首页 > Java教程 > 正文

java微信公众号开发教程



WxJava是一款基于Java语言的微信开发Java SDK,它提供了微信支付,开放平台,小程序,企业微信,公众号等多个平台的API接口,并将其封装为易于调用的Java方法,方便Java开发者快速开发与微信相关的应用。

GitHub地址:

使用WxJava只需要引入开发相关模块的maven依赖即可

 
 

如果没有个人微信号或者企业微信号,可以申请测试公众号,并且拥有所有接口权限,推荐。

访问申请测试公众号,申请一个测试的微信公众号,测试微信公众号拥有所有高级功能。

image.png

申请测试公众号后,会分配一个测试的appid和秘钥,接着配置一个可用于内网穿透的地址

注意:
image.png
扫描以关注测试公众号,同时获取用户openid
image.png

WxJava对应的微信公众号开发文档

非Spring Boot:
image.png

 

Spring Boot:
image.png

 

非Spring Boot方式引入依赖,需要自定义微信相关配置信息,同时需要初始化一个WxMpService实例。

 

Spring Boot方式引入依赖,需要按约定进行微信相关配置,然后就可以直接进行相关开发。

具体配置参考:wx-java-mp-spring-boot-starter配置

 

wx-java-mp-spring-boot-starter主要自动配置了如下两个对象:

 

非Spring Boot方式引入依赖则需要自己实例化WxMpService对象。

1.创建WxMpProperties类,封装微信配置参数信息。

 

2.创建WxMpConfiguration类,用于配置WxJava相关的实例对象。

 

注意:

 

image.png

WxMpXmlOutTextMessage是同步回复给微信消息的对象,不同类型的消息类型可以用不同的方式构造

 

image.png

微信推送给公众号的消息类型很多,而公众号也需要针对用户不同的输入做出不同的反应。避免出现很多if/else判断,可以使用WxMpMessageRouter来对消息进行路由

WxMpMessageRouter支持从4个角度对消息进行匹配:

 

具体参考:微信消息路由器

针对不同类型的消息处理,需要自己实现消息处理器,消息处理器必须实现WxMpMessageHandler接口

 

还可以添加拦截器,支持在处理微信公众号消息时添加拦截器以进行消息的预处理、过滤等操作。自定义实现拦截处理器,实现WxMessageHandler接口

 
 
 

将不同类型的消息交给不同的消息处理器来处理。路由对象为WxMpMessageRouter

 

在Controller中注入,将消息路由到对应的处理器

 

image.png

WxMpConfigStorage是维护微信公众号相关信息的地方,里面包含等信息。

在与微信API交互过程中,首先需要获取,但是获取的微信接口有调用次数限制,并且每次交互中都需要去获取,需要重新发起网络请求,效率低,没过期就调用可能会因为达到次数上限而获取失败。

如果是分布式的环境下,每个服务都要各自去获取这些信息,因此,可以将这些信息存储到数据库或分布式缓存中,以便各个节点能够共享数据信息,尤其是。

通常是将持久化到redis,只需要额外在配置文件中增加redis配置即可。

 

注意:当type使用redisTemplate,则需要单独引入依赖

接下来,在与微信公众号交互过程中,就会先需要获取access_token,然后将其存入redis

image.png

  • 上一篇: java密码教程
  • 下一篇: Java属性菜鸟教程
  • 版权声明


    相关文章:

  • java密码教程2025-01-13 18:42:00
  • java新手教程网站2025-01-13 18:42:00
  • java菜单教程2025-01-13 18:42:00
  • java me基础教程pdf2025-01-13 18:42:00
  • java类加载器教程2025-01-13 18:42:00
  • Java属性菜鸟教程2025-01-13 18:42:00
  • java开发好的教程2025-01-13 18:42:00
  • java jama教程2025-01-13 18:42:00
  • java清单教程视频2025-01-13 18:42:00
  • java教程272025-01-13 18:42:00