基于Spring Boot快速开发微信公众号

基于Spring Boot快速开发微信公众号

首先简单说说spring boot与spring mvc的关系,如果把spring mvc比作是一辆车,那spring boot就是一辆融合了自动驾驶技术的车,让开车变的更加简单,新手秒变老司机。其实spring boot开发web应用相关的核心还是依赖于spring mvc这个框架,只是融入了一些新的技术,让原来很繁琐的东西变的更加简单,比如简化了配置方案,依赖库打包整合,自带容器方便部署等。总结的讲,spring boot更像是一个产品,为应用开发提供一种更加优化的解决方案。下面切入正题,利用spring boot快速开发微信公众号的restful api。

楼主:说~要开发微信公众号接口拢共分几步?

游客:一脸懵逼~~

楼主:三步!第一步申请个微信公众号,第二步利用spring boot开发接口服务,第三步把接口服务与公众号绑定,非常完美!

游客:…..

一、申请注册微信公众号

申请流程请直接参考微信公众平台,这里不过多说明。如果是个人的话只能申请订阅号,订阅号的权限略低,只有少数几个微信接口的权限,本文以订阅号为例。

二、利用spring boot开发restful api

1、创建spring项目

首先需要安装STS套件用于创建spring项目,打开eclipse,选择help-Eclipse Marketplace,选择popular标签,找到STS,直接installed,按照默认一步步安装,网络不好可能需要比较久,be patient!

安装完成后,新建项目,找到spring boot目录,选择spring starter project

点击下一步,配置些项目基础信息,使用默认的也可以

下一步,进入依赖配置页面,这一部比较关键,如果用spring开发rest接口,web肯定是要选的,需要数据库操作,可以选择SQL对应的依赖,这一步也可以先跳过,之后手动配置pom.xml文件(本文使用maven作为依赖包管理工具)

然后直接点击finish,静待一会儿就成功创建了一个spring boot项目,项目结构如下:

2、开始coding,过程不再赘述,直接上成品,目录结构如下,该demo主要实现的功能:绑定微信公众平台用的验证服务,关注/取消事件触发的信息推送服务及邮件提醒功能,固定分类查找及关键词查找功能。下面大概讲下各个package的主要用途

2.1 config包中以java 类的方式定义了多个配置,包括数据源配置、邮件配置、DispatcherServlet的初始化配置,个人觉得配置类比xml配置文件要清晰易懂,而且不容易配置错误。

2.2 controller包定义了一个路由类,只有一个统一的api,通过多态方式实现不同的业务处理

2.3 data包就是dao层

2.4 pojo包定义了请求和响应的模板类。尤其是响应类,包括文本消息响应和图文消息响应,下边以图文消息为例:

在controller中返回的时候,spring内置的converter会自动将其转换为xml格式内容

2.5 service包中定义了异步的邮件发送服务,线程池异步方式,在有新用户关注或取关时会调用该服务发送邮件提醒。

2.6 SpaceshipApplication.java是服务启动时调用的主程序,SpringBootApplication注解包含了ComponentScan、EnableAutoConfiguration等注解的功能,程序启动时会自动扫描所有组件和配置bean,注册到spring应用上下文中。EnableAsync注解用于启用spring的异步服务,默认是以线程池的方式,也可以自定义该服务。

3、程序部署

spring boot自带了容器,tomcat/jetty无需配置开箱即用,只需要打个可执行jar包,然后java -jar启动一切就搞定了。而且如果程序部署在linux服务器(centos)上,还可以将可执行jar包注册为系统服务,以服务的方式启动,如下所示

就是这么简单,意不意外,惊不惊喜!

三、微信公众平台上绑定服务地址

一切就绪,就差绑定到微信公众平台。当然在绑定前所有的服务都必须要测试通过,测试工具推荐使用postman,简单方便。

微信公众平台绑定服务界面如下:

只需要关注URL选项,将controller中配置的api地址填上提交即可。到此就完毕了,如果想查看实际效果,请关注右侧二维码!

本章只介绍了大概的开发流程及部分重点内容,具体的代码demo请参考Github ,demo中各部分都有详细的注释。

码字辛苦,转载请注明出处!

Comments are closed.