springboot 配置 weixin4j

springboot配置weixin4j

weixin4j是一个用Java编写针对微信开发的工具包,包含weixin4j-mp(微信公众平台API)、weixin4j-qy(微信企业号API)以及weixin4j-server(微信回调消息服务器)三个工程.
原先使用spring集成的weixin4j,现在使用springboot 框架,所以进行了针对springboot配置weixin4j进行了一定的修改,记录下来作为笔记

此项目代码链接地址

1.maven引入weixin4j的依赖

  
        <dependency>
            <groupId>com.foxinmygroupId>
            <artifactId>weixin4j-mpartifactId>
            <version>1.7.9version>
        dependency>
        
        <dependency>
            <groupId>com.foxinmygroupId>
            <artifactId>weixin4j-qyartifactId>
            <version>1.7.9version>
        dependency>
        
        <dependency>
            <groupId>com.foxinmygroupId>
            <artifactId>weixin4j-serverartifactId>
            <version>1.1.9version>
        dependency>
        <dependency>
            <groupId>com.squareup.okhttp3groupId>
            <artifactId>okhttpartifactId>
            <version>3.3.1version>
        dependency>

2.创建weixin4j配置文件

# weixin4j的配置文件:如果没有请构造相应参数传入 如果有请保证在classpath的根目录下

# 公众号信息 请按需填写
weixin4j.account={"id":"wx124a70e92cbfad00","secret":"cda751ec3baf0979f3ed539563d440e1",\
"components":[{"id":"应用组件的id","secret":"应用组件的secret"}],\
"mchId":"微信商户号 微信支付时需要填入",\
"certificateKey":"加载支付证书文件的密码 如果不填写则默认获取mchId作为密码",\
"certificateFile":"微信支付某些接口(退款等)需要的ca证书存放的路径,classpath路径下可以这么写classpath:xxxxx.p12,为空时则获取classpath根目录下的ca.p12文件",\
"paySignKey":"微信支付中调用API的密钥 微信支付时需要填入"}

# 公众号微信网页oauth授权重定向的url(在使用OauthApi时填写,也可自定义传入)
# 详见:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842&token=&lang=zh_CN
weixin4j.user.oauth.redirect.uri=

# 网站扫描登陆oauth授权重定向的url(在使用OauthApi时填写,也可自定义传入)
# 详见:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN
weixin4j.open.user.oauth.redirect.uri=

# 第三方组件授权重定向的url(在使用ComponentApi时填写,也可自定义传入)
# 详见:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1453779503&token=&lang=zh_CN
weixin4j.component.oauth.redirect.uri=

# 第三方组件代替授权公众号发起网页授权重定向的url(在使用ComponentApi时填写,也可自定义传入)
# 详见:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318590&token=&lang=zh_CN
weixin4j.component.user.oauth.redirect.uri=

3创建weixin4j的配置信息 选择使用存储token等信息的使用方式

@Configuration
public class Weixin4jConfiguration {

    private static final Logger logger = LoggerFactory.getLogger(Weixin4jConfiguration.class);
    @Autowired
    private RedisProperties redisProperties;

    @Bean
    public WeixinProxy weixinProxy(){
        logger.info("微信配置信息初始化。。。。。。");
        //使用默认文件缓存
        WeixinProxy weixinProxy = new WeixinProxy();
        //使用redis缓存
      //  WeixinProxy weixinProxy = new WeixinProxy(redisCacheStorager());
        return weixinProxy;
    }

    /**
     * 声明使用redis缓存
     * @return
     */
    private RedisCacheStorager redisCacheStorager(){
        RedisCacheStorager redisCacheStorager = new RedisCacheStorager(redisProperties.getHost(), redisProperties.getPort(), redisProperties.getTimeout());
        return redisCacheStorager;
    }
}

4.增加微信消息服务,用来处理微信消息等

(1) 微信消息服务类创建

springboot 配置 weixin4j_第1张图片

(2)包名修改
springboot 配置 weixin4j_第2张图片

(3) 增加注解@WebListener
springboot 配置 weixin4j_第3张图片

(4)在启动类增加注解@ServletComponentScan
springboot 配置 weixin4j_第4张图片

5.启动服务,进行微信配置

(1) 使用ngrok 启动两个端口

    80: 为服务启动端口
    30000 : 为微信消息服务启动端口

(2) 配置微信配置信息
springboot 配置 weixin4j_第5张图片

(3) 微信配置30000端口的域名,填写token(默认为weixin4j),可在代码中修改,启动服务后点击提交出现配置成功 springboot 配置 weixin4j_第6张图片

(4)发送消息进行测试

springboot 配置 weixin4j_第7张图片

6.参考资料

weixin4j 链接

你可能感兴趣的:(springboot笔记)