如何轻松用 Spring Boot 3 集成 zxing 生成二维码?🔥

2026-04-29 12:442阅读0评论服务器VPS
  • 内容介绍
  • 文章标签
  • 相关推荐
🔥 Spring Boot 3 整合 zxing:轻松生成二维码的指南

先说说在 pom.xml 中添加 zxing 依赖:


    com.google.zxing
    core
    3.5.3

M

极端环境

移动支付

特性

zxing 库功能强大且易于集成,可以作为 spring boot 应用处理二维码的首选方案。大家在实际项目中使用的时候,可以将本文的代码示例封装成工具类,也可以作为参考自己实现。二维码生成也只是 zxing 功能的冰山一角, 它还能解析二维码、生成各种条形码等等,各位读者感兴趣的话可以继续深入探索。

产品对比
ZXing开源免费功能强大
其他二维码库可能收费功能相对简单

H

CODE_128

复制

注意啦! 我发现好多教程都写得太死板了就像机器人写的一样!这文章我就是要不一样!我要有点灵魂!代码我也乱放一点,反正就是怎么开心怎么来!要的就是这种不羁的风采!

产品名称价格特点
某品牌条码扫描枪299元支持多种条码格式,识别速度快
另一个牌子的扫描枪199元性价比高,适合小型商户使用
高端工业扫描枪999元防摔耐用,适用于恶劣环境使用
名称 参数说明
EncodeHintType.CHARACTER_SET 指定编码方式,默认是ISO-8859-1,为了支持中文等特殊字符,需要设置为UTF-8
EncodeHintType.ERROR_CORRECTION 指定纠错等级,有L、 M、Q、H四个等级,从低到高容错率逐渐提高,但存储容量也会相应减少
EncodeHintType.MARGIN 指定二维码的边距宽度,默认为4像素

代码示例

import java.util.HashMap;import java.util.Map;import com.google.zxing.*;import com.google.zxing.common.*;import java.awt.*;import java.awt.image.*;import java.io.*;public class QRCodeGenerator { public static String generateQRCode { try { //1 设置二维码生成参数 Map hints = new HashMap; hints.put; // 支持中文等特殊字符 hints .put; // 高容错率 MultiFormatWriter writer = new MultiFormatWriter; BitMatrix bitMatrix = writer .encode ; BufferedImage image = new BufferedImage ; for { for { boolean isBlack = bitMatrix .get ; if { image .setRGB ); } else { image .setRGB ); } } } File qrCodeFile = new File ; ImageIO .write; return filePath ; } catch { e .printStackTrace ; return null;} }}

这里主要对代码中ErrorCorrectionLevelBarcodeFormat这两个大家不是很熟悉的参数做下说明:

  • ErrorCorrectionLevel
    • L :约7% 的容错率
    • M :约15% 的容错率
    • Q :约25% 的容错率
    • H :约30% 的容错率
  • BarcodeFormat常见的条码格式如下:
    • QR_CODE
    • CODE_128
    • EAN_13
    • UPC_A
    • PDF_417
错误纠正级别对比
等级 L | M| Q| H| 容错率 | 最少 | 中等 | 多 | 最大 容量 | - | - | - |-|-| 容量减少量| -|-|-|-| 7%| ~15%| ~25%| ~30%| ||||||| |

使用方法

  1. 编写一个方法测试生成二维码: public static void main{String data ="Hello~ CC";int width=300;// 二维码的宽度int height=300;// 二维码的高度String uuid=UUID randomUUID.toString;String filePath ="D:\\pic\\"+uuid+".png";// 生成的二维码文件的路径generateQRCode;}
  2. 运行后在指定目录生成了一个二维码图片。如果没生成...可能是我电脑抽风了。

应用场景

  • 商品物流
  • 证件存储
  • 移动支付
  • 任意角度读取

注意事项

醉了... 重点来了!!! 如果你的电脑配置太低了或者内存不足了生成的图片可能会变形哦!这个我可不是危言风语!一定要保证你的电脑性能足够强大才能驾驭这个强大的 ZXing 工具库!!! 而且啊!生成的图片最好别太大,不然打开都卡顿得厉害!

🔥 Spring Boot 3 整合 zxing:轻松生成二维码的指南

先说说在 pom.xml 中添加 zxing 依赖:


    com.google.zxing
    core
    3.5.3

M

极端环境

移动支付

特性

zxing 库功能强大且易于集成,可以作为 spring boot 应用处理二维码的首选方案。大家在实际项目中使用的时候,可以将本文的代码示例封装成工具类,也可以作为参考自己实现。二维码生成也只是 zxing 功能的冰山一角, 它还能解析二维码、生成各种条形码等等,各位读者感兴趣的话可以继续深入探索。

产品对比
ZXing开源免费功能强大
其他二维码库可能收费功能相对简单

H

CODE_128

复制

注意啦! 我发现好多教程都写得太死板了就像机器人写的一样!这文章我就是要不一样!我要有点灵魂!代码我也乱放一点,反正就是怎么开心怎么来!要的就是这种不羁的风采!

产品名称价格特点
某品牌条码扫描枪299元支持多种条码格式,识别速度快
另一个牌子的扫描枪199元性价比高,适合小型商户使用
高端工业扫描枪999元防摔耐用,适用于恶劣环境使用
名称 参数说明
EncodeHintType.CHARACTER_SET 指定编码方式,默认是ISO-8859-1,为了支持中文等特殊字符,需要设置为UTF-8
EncodeHintType.ERROR_CORRECTION 指定纠错等级,有L、 M、Q、H四个等级,从低到高容错率逐渐提高,但存储容量也会相应减少
EncodeHintType.MARGIN 指定二维码的边距宽度,默认为4像素

代码示例

import java.util.HashMap;import java.util.Map;import com.google.zxing.*;import com.google.zxing.common.*;import java.awt.*;import java.awt.image.*;import java.io.*;public class QRCodeGenerator { public static String generateQRCode { try { //1 设置二维码生成参数 Map hints = new HashMap; hints.put; // 支持中文等特殊字符 hints .put; // 高容错率 MultiFormatWriter writer = new MultiFormatWriter; BitMatrix bitMatrix = writer .encode ; BufferedImage image = new BufferedImage ; for { for { boolean isBlack = bitMatrix .get ; if { image .setRGB ); } else { image .setRGB ); } } } File qrCodeFile = new File ; ImageIO .write; return filePath ; } catch { e .printStackTrace ; return null;} }}

这里主要对代码中ErrorCorrectionLevelBarcodeFormat这两个大家不是很熟悉的参数做下说明:

  • ErrorCorrectionLevel
    • L :约7% 的容错率
    • M :约15% 的容错率
    • Q :约25% 的容错率
    • H :约30% 的容错率
  • BarcodeFormat常见的条码格式如下:
    • QR_CODE
    • CODE_128
    • EAN_13
    • UPC_A
    • PDF_417
错误纠正级别对比
等级 L | M| Q| H| 容错率 | 最少 | 中等 | 多 | 最大 容量 | - | - | - |-|-| 容量减少量| -|-|-|-| 7%| ~15%| ~25%| ~30%| ||||||| |

使用方法

  1. 编写一个方法测试生成二维码: public static void main{String data ="Hello~ CC";int width=300;// 二维码的宽度int height=300;// 二维码的高度String uuid=UUID randomUUID.toString;String filePath ="D:\\pic\\"+uuid+".png";// 生成的二维码文件的路径generateQRCode;}
  2. 运行后在指定目录生成了一个二维码图片。如果没生成...可能是我电脑抽风了。

应用场景

  • 商品物流
  • 证件存储
  • 移动支付
  • 任意角度读取

注意事项

醉了... 重点来了!!! 如果你的电脑配置太低了或者内存不足了生成的图片可能会变形哦!这个我可不是危言风语!一定要保证你的电脑性能足够强大才能驾驭这个强大的 ZXing 工具库!!! 而且啊!生成的图片最好别太大,不然打开都卡顿得厉害!