1.导入pom中的jar包
<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
2.编写一个类,核心代码BitMatrix bitMatrix=new MultiFormatWriter().encode(json, BarcodeFormat.QR_CODE, width, height,hits);创建一个矩阵对象
package com.QRcode;
import java.io.IOException;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.text.Format;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
import com.alibaba.fastjson.JSONObject;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
public class QRcode {
@Test
public void GenerateQRcode() throws WriterException, IOException{
JSONObject jsonObject=new JSONObject();
jsonObject.put("company", "com.baidu.cn");
jsonObject.put("author", "lxl");
jsonObject.put("address", "江西省吉安市");
// json对象转化为json格式的字符串
String json=jsonObject.toString();
System.out.println(json);
// 创建宽高
int width=200;
int height=200;
// 创建map集合
Map<EncodeHintType, Object> hits=new HashMap<EncodeHintType, Object>();
hits.put(EncodeHintType.CHARACTER_SET, "UTF-8");
// 创建一个矩阵对象
BitMatrix bitMatrix=new MultiFormatWriter().encode(json, BarcodeFormat.QR_CODE, width, height,hits);
String filename="D://";
String filepath="QRcode.jpg";
Path path=FileSystems.getDefault().getPath(filename,filepath);
// 将矩阵对象生成一个图片
MatrixToImageWriter.writeToPath(bitMatrix, "jpg", path);
System.out.println("生成二维码");
}
}
3.运行后就自动生成二维码。