java整合WxJava框架,开发微信公众号

  1. 测试账号会分配一个appId和appsecret
  2. 我在这块使用的是NETAPP将内网映射为外网https://natapp.cn/

在这里插入图片描述
4. 填写URL和Token,URL是微信的回调地址,Token自定义,URL为我的NetApp域名,后面跟mp中WxMpPortalController的路径,在此提交时,回调项目必须启动,否则会认证失败

5. 这块使用的微信开发框架为WxJava框架
https://github.com/Wechat-Group/WxJava
6. WxJava提供开源项目Demo
https://github.com/binarywang/weixin-java-mp-demo-springmvc
下载地址:
链接:https://pan.baidu.com/s/1qM6LmgL5-WuZRrMmpyVv2g
提取码:9ctk
7. 引入项目依赖

<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-mp</artifactId>
    <version>3.6.0</version>
    <exclusions>
        <exclusion>
            <artifactId>xstream</artifactId>
            <groupId>com.thoughtworks.xstream</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>
        spring-cloud-starter-netflix-eureka-client
    </artifactId>
    <exclusions>
        <exclusion>
            <artifactId>xstream</artifactId>
            <groupId>com.thoughtworks.xstream</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <artifactId>xstream</artifactId>
    <groupId>com.thoughtworks.xstream</groupId>
    <version>1.4.10</version>
</dependency>

如果直接依赖

<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-mp</artifactId>
    <version>3.6.0</version>
</dependency>

会出现java.lang.NoSuchMethodError: com.thoughtworks.xstream.XStream.setupDefaultSecurity(Lcom/thoughtworks/xstream/XStream;)V异常,原因是版本冲突问题
6. 配置文件,加入以下配置

wx:
  appid: ***
  appsecret: ***
  token: ***
  aeskey: ***
  1. WxMpConfig更改为从配置文件中获取
@Configuration
public class WxMpConfig {
  @Value("${wx.token}")
  private String token;

  @Value("${wx.appid}")
  private String appid;

  @Value("${wx.appsecret}")
  private String appSecret;

  @Value("${wx.aeskey}")
  private String aesKey;

  public String getToken() {
    return this.token;
  }

  public String getAppid() {
    return this.appid;
  }

  public String getAppSecret() {
    return this.appSecret;
  }

  public String getAesKey() {
    return this.aesKey;
  }

}

推送消息会根据微信的回调地址执行到WxMpPortalController
此类中有两个方法,一个get请求,一个post请求
get请求为认证接口
post请求为接收参数接口

扫明测试号二维码,发送消息,会默认回复:“回复信息内容”,此时框架已引入完毕

发布了11 篇原创文章 · 获赞 0 · 访问量 339

猜你喜欢

转载自blog.csdn.net/dawn_li/article/details/103948534