主要依赖于google的jar包来生成二维码的
添加依赖如下
<!-- google生成二维码 -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing.client</groupId>
<artifactId>j2se</artifactId>
</dependency>
<!-- fastJson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.57</version>
</dependency>
测试代码如下
import com.alibaba.fastjson.JSONObject;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringRunner;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
/**
* @Author: Administrator
* @Description:
* @Date: 2019-07-29 10:44
* @Modified By:
*/
@RunWith(SpringRunner.class)
public class test {
@Test
public void test() throws Exception{
//生成一个二维码
//定义一个json字符串
//1.创建一个jsonObject对象
JSONObject jsonObject = new JSONObject();
//2.给jsonObject对象中放入数据
jsonObject.put("name","测试数据");
jsonObject.put("age",24);
jsonObject.put("address","北京市海淀区");
//3.将json对象转换为json格式的字符串
String content = jsonObject.toString();
System.out.println(content);
//二维码的宽高
int width=200;
int height=200;
//创建Map集合
Map<EncodeHintType,Object> hints=new HashMap<EncodeHintType,Object>();
hints.put(EncodeHintType.CHARACTER_SET,"UTF-8");
//4.创建一个矩阵对象,Ctrl+P显示方法参数
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE,width,height,hints);
//创建一个图片存放路径,图片名称
String filePath = "D:";
String fileName="QRcode.jpg";
Path path = FileSystems.getDefault().getPath(filePath,fileName);
//5.将矩阵对象生成二维码
MatrixToImageWriter.writeToPath(bitMatrix,"jpg",path);
System.out.println("生成二维码成功!");
}
}