公众号开发之wx-tools+springboot应用实战-音乐爬虫推送[JAVA]

天啦噜!微信公众号开发如此简单!竟然是因为……

当然是因为wx-tools啦!


springboot+wx-tools实践!音乐爬虫推送公众号DEMO

GitHub地址:wx-tools

最终DEMO源码地址: music_collector

先理一下大概的开发步骤:

  1. 创建一个Web工程(可以是Servlet/Spring Web/Spring boot)
  2. pom引入wx-tools / 手动引入wx-tools.jar包(可以去github下载自己build)
  3. 编写wx.properties配置文件
  4. 接入微信公众平台,验证服务器地址的有效性
  5. 实现自己的业务逻辑

简单吗?接下来一起写一个简单的Demo吧


1. 创建web项目

注意!本demo使用的是SpringBoot,如果你使用原生servlet,原理是一样的。这里就不再演示。

使用maven创建,或者在eclipse/IDEA创建web项目。

如何创建web项目,相信大家都会的了。就不详细介绍了。如果不会,自行度娘。

基于SpringBoot爬虫项目

这里我我基于springBoot创建了一个项目名为:music_collector

music_collector是一个爬虫项目,爬取各大音乐网的排行榜,并且可以支持设置关键字,来查询微信图文推送并推送给用户。(原理是通过搜狗搜索)

具体创建SpringBoot,这里就不赘述了。百度一下就知道了。


  • 如果使用maven创建项目,指令如下:
mvn archetype:generate -DgroupId=wxtools.demo -DartifactId=demo -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeCatalog=local

  • 注意:此指令创建的web工程版本是2.3的,比较低。可以修改web.xml,变成3.0
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>demo</display-name>
</web-app>

引入wx-tools依赖

  • maven地址(最新版本可以去中央库查询wx-tools)
<dependency>
  <groupId>com.soecode.wx-tools</groupId>
  <artifactId>wx-tools</artifactId>
  <version>2.1.4-RELEASE</version>
</dependency>

注意:如果需要看源代码的务必手动修改编码。导入后记得修改jar包的编码。window下默认读GBK,而框架本身是UTF-8。

  • 修改方式:在eclipse的工程下,对着jar包右键 --> Properties --> Encoding --> UTF-8

创建wx.properties配置文件

  • 搭好项目基本框架后,在src/main/resources下新建wx.properties文件
#配置如下
wx.appId=你的appId
wx.appSecret=你的appSecret
wx.token=你设置的token
wx.aesKey=如果选择安全模式,需要填入。如果是明文模式,填空就好了
wx.mchId=商户ID

最终项目目录结构如下:

项目结构

不要填错了哦!注意大小写。


2. 验证服务器地址的有效性


2.3.1 启动web服务

可以使用SpringBoot启动或者tomcat/jBoss都可以。

内网映射

微信开发需要把本地127.0.0.1映射到公网上,微信服务器才可以把消息推送给你的程序。

映射工具有很多,例如:花生壳、Ngrok等。这里使用了免费版的Ngrok。
ngrok客户端windows+64版

  • 使用方法很简单:下载解压,双击打开,输入二级域名即可把本地127.0.0.1映射出去。

效果图

验证一下服务器的有效性

这时候,wx-tools下的所有api都可以调用了。

我们验证一下服务器的有效性。

验证接口官方文档 建议先看官方文档,理解好开发步骤,在继续下去。

  • 编写WxController对接微信服务器

@RestController
@RequestMapping("/wx")
public class WxController {

    private IService iService = new WxService();

    @GetMapping
    public String check(String signature, String timestamp, String nonce, String echostr) {
        if (iService.checkSignature(signature, timestamp, nonce, echostr)) {
            return echostr;
        }
        return null;
    }
    
}
  • 开启服务,然后去微信公众平台后台或者测试号后台填写资料验证即可。( 确保wx.properties与微信后台配置一致即可。)

  • 打开微信配置后台:(这里我是用测试号的,还没有测试号的可以点击这里申请

  • 22
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
Spring Boot 是一个开源的 Java 开发框架,它简化了基于 Java应用程序开发和部署过程。而 wx-java 是一个基于 Spring Framework 开发微信公众号开发工具包,它提供了一系列简化了微信公众号开发的功能。 在 Spring Boot 中集成 wx-java 插件实例主要包括以下几个步骤: 1. 创建一个新的 Spring Boot 项目。 2. 在项目的 pom.xml 文件中添加依赖,引入 wx-java 插件的相关包,例如: ```xml <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>x.x.x</version> </dependency> ``` 注意要将 x.x.x 替换为最新的 wx-java 版本号。 3. 创建一个配置类,用于配置 wx-java 的相关配置信息,例如: ```java @Configuration public class WxConfig { @Value("${wx.mp.appId}") // 从配置文件中读取相关配置 private String appId; @Value("${wx.mp.appSecret}") private String appSecret; @Bean public WxMpInMemoryConfigStorage wxMpConfigStorage() { WxMpInMemoryConfigStorage config = new WxMpInMemoryConfigStorage(); config.setAppId(appId); config.setSecret(appSecret); // 设置其他配置信息,例如 Token、AES Key 等 return config; } @Bean public WxMpService wxMpService(WxMpInMemoryConfigStorage config) { WxMpServiceImpl service = new WxMpServiceImpl(); service.setWxMpConfigStorage(config); return service; } } ``` 4. 编写业务逻辑代码,使用 wx-java 提供的功能进行微信公众号开发,例如: ```java @RestController @RequestMapping("/wechat") public class WechatController { @Autowired private WxMpService wxMpService; @GetMapping("/accessToken") public String getAccessToken() throws WxErrorException { // 调用 wx-java 的相关方法获取 AccessToken String accessToken = wxMpService.getAccessToken(); return accessToken; } // 其他相关业务逻辑代码... } ``` 通过以上步骤,我们成功在 Spring Boot 项目中集成wx-java 插件,可以方便地进行微信公众号开发。当然,具体的实例还需要根据实际需求进行进一步的配置和开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值