SpringBoot集成HuTool工具
简介
距离上篇博客时间有点就,这段时间,自己学习了一些框架集成,以及支付相关内容,在不久我将以博客的形式与大家分享,一起学习,一起进步
本次博客,记录下HuTool工具的使用,同大家一起学习学习这个用起来贼爽的工具。
项目搭建
1.本次博客将实现一个SpringBoot + HuTool 生成二维码,并通过APP扫码,实现区分扫码客户端的功能。该功能可以应用于多码合一支付。
2.之前咱们的博客搭建过一个基础的框架,直接跳过快速搭建框架这一环节。。。
3.项目结构如图
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/9486a41641918f819620ecfff8775edc.png#pic_center)
4.pom文件引入Jar
<!--hutool jar-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.0.7</version>
</dependency>
<!--考虑到Hutool的非强制依赖性,因此zxing需要用户自行引入-->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.0</version>
</dependency>
5.创建TestController,用于接口请求
@Controller
@RequestMapping("/test")
public class TestController {
public static final String url = "http://jinzhifeng-vip.natappvip.cc/test/pay";
@GetMapping("/createQrCode")
public void createQrCode(HttpServletResponse response) throws Exception {
QRcodeUtils.crateQRCode(url,200,200,response);
}
@RequestMapping("/pay")
public String pay(HttpServletRequest request, HttpServletResponse response){
String userAgent = request.getHeader("user-agent");
if (userAgent != null && userAgent.contains("MicroMessenger")){
System.out.println("微信支付");
}else if (userAgent !=null && userAgent.contains("AlipayClient")){
System.out.println("支付宝支付");
}
System.out.println(userAgent);
return null;
}
}
6.启动项目,用postMan请求 http://localhost:8080/test/createQrCode,效果如下
![](https://img-blog.csdnimg.cn/img_convert/21399efe16fd97908f729371314ba235.png)
7.使用手机微信扫码二维码
![](https://img-blog.csdnimg.cn/img_convert/8d96e2f990fb177d0d928d834c37c2c2.png)
程序输出,微信支付
8.至此本次项目结束,后期将为大家提供,我自己过的多码合一支付项目,包含支付、分销,用到的二维码基本都是以此类方式实现
9.源码下载:https://download.csdn.net/download/qq_38379231/13103179
感谢大家的支持,您的支持就是我的动力
![](https://img-blog.csdnimg.cn/20200113164312106.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4Mzc5MjMx,size_16,color_FFFFFF,t_70)