- 结合YOLOv8和OpenCV WeChat QRCode打造一款二维码识别器
搜狐技术产品小编2023
YOLOopencv微信人工智能计算机视觉
本文字数:3876字预计阅读时间:25分钟01引言二维码(QRCode)在现代生活中有广泛应用,从支付系统到信息传递,它们无处不在。本文提出了一种如何识别二维码的方法,主要贡献在于优化处理分辨率较高的图像时,由于二维码在整张图片中占据的比例较小,传统的OpenCVWeChatQRCode的识别方法表现不佳的问题。下面描述详细的优化过程。02OpenCVWeChatQRCodeWeChatQRCod
- Python知识点:如何使用Python进行二维码生成与识别
杰哥在此
Python系列pythonmysql开发语言编程面试
在Python中,生成和识别二维码可以使用不同的库来实现。最常用的库包括qrcode和pyzbar。以下是如何使用这些库来生成和识别二维码的示例:1.生成二维码你可以使用qrcode库来生成二维码。首先,你需要安装它:pipinstallqrcode[pil]然后,使用以下代码生成二维码:importqrcode#生成二维码defgenerate_qr_code(data,file_path):#
- vue-element根据后端返回的值,在表格内生成二维码并且下载
爬坑的小白
vue.jsjavascriptchrome
1:安装qrcodenpmiqrcode2:引入qrcodeimportQRCodefrom'qrcode'3:页面下载4:方法//封装方法生产二维码asyncgetCode(data){console.log(data,';;;')try{constdataSting=data.toString()constqrCodeData=awaitQRCode.toDataURL(dataSting)r
- 普通用户下Nginx 安装与启动教程
ascarl2010
Nginxnginx运维linux
Nginx安装与启动教程本教程介绍如何在Linux环境中,通过root和qrcode用户进行Nginx的安装、配置与管理。1.以root用户登录并执行以下命令安装依赖sudoyuminstall-ygccmakepcre-develzlib-developenssl-develwget这些依赖是为了编译和安装Nginx所必需的库和工具。2.切换到qrcode用户接下来,我们将切换到qrcode用户
- QRCodeCameraX 开源项目教程
喻季福
QRCodeCameraX开源项目教程QRCodeCameraXQRcodedecoderbasedonCameraX&zxing-core&MLkit,inlessthan50lines项目地址:https://gitcode.com/gh_mirrors/qr/QRCodeCameraX项目介绍QRCodeCameraX是一个基于CameraX库的二维码扫描开源项目。它提供了一个简单易用的接口
- Cannot read properties of undefined (reading ‘_android’)
久违的小技巧
qrcodejs2
记录:问题Cannotreadpropertiesofundefined(reading‘_android’)vue3+ts使用qrcodejs2插件生成二维码报错Cannotreadpropertiesofundefined(reading‘_android’)替换qrcodejs2使用qrcodejs2-fix1.卸载npmuninstallqrcodejs22.安装npmiqrcodejs2
- 推荐使用:react-qr-code - 灵活高效的React和React Native二维码组件
纪亚钧
推荐使用:react-qr-code-灵活高效的React和ReactNative二维码组件react-qr-codeAQRcodegeneratorforReactandReactNative.项目地址:https://gitcode.com/gh_mirrors/re/react-qr-code1、项目介绍react-qr-code是一个专为React框架设计的二维码组件库,同时也支持Reac
- 前端Vue + qrcode实现二维码生成
小倪有点菜
vue.js前端javascript
后端接口会返回一串由数字和英文组合的字符串getQRInviteCode(){//清除上一次的二维码if(this.$refs.qrcode){this.$refs.qrcode.innerHTML='';//清除二维码方法}//生成二维码(这里有个坑,一定要在new关键字前面用等于号,赋给一个变量,否则vue运行会报错)qrcode是HTML中的显示二维码的divsetTimeout(()=>{
- 微信支付宝扫码支付功能python实现
jiulinghouxiao
微信java开发语言
支付宝支付功能实现安装包pipinstallalipay-sdk-pythonpipinstallqrcode代码实现importqrcodefromalipay.aop.api.AlipayClientConfigimportAlipayClientConfigfromalipay.aop.api.DefaultAlipayClientimportDefaultAlipayClientfroma
- VUE-微信小程序 - 生成二维码(qrcode)和条形码(barcode)
wenjiangwang
notepad++
一、简介1.二维码2.条形码二、微信小程序-生成二维码(qrcode)和条形码(barcode)1.安装2.使用方法3.条形码4.二维码5.具体实例三、VUE生成二维码(qrcodejs)和条形码(barcode)1.VUE生成二维码(qrcodejs)1.1安装依赖1.2组件内使用1.3完整实例2.VUE条形码(barcode)2.1安装依赖2.2main.js中全局引入2.3定义组件2.4使用
- java生成二维码QRCode Zxing SwetakeQRCode barcode4j
躁动的青年
javazxingjava二维码qrcodezxing图片
最常见的就是QRcode二维码一、Zxing1.推荐使用ZxingGoogle出的,大厂商,文档齐全。也可生成条形码,Android上一般也采用Zxing。2.可生成、读取二维码,可嵌入图片(logo),支持中文3.编写代码量很少,就可生成二维码4.生成的二维码的位点少,好识别5.生成的二维码,占用存储空间小,2K所需jar包:core-2.2.jar,jdk1.6。自2.2以后需要jdk1.7,
- js 二维码qrcode 和 条形码barcode 的使用
HILL_9
jqueryjsjavascript
1、二维码,首先先引用qrcode.js去资源上搜索下载,这个不是难事。。functionqrcodeCodes(data,qrcodeindx){$("#"+qrcodeindx).qrcode(data.二维码,"code93",{//此处显示的是后端返回给我们的数据output:'css',barWidth:60,barHeight:60,showHRI:true});};2、条形码,首先先
- unity多平台二维码扫描(可自定义UI)
阿循
今天天气哈哈哈unity3d二维码UGUI
在unity里做扫二维码的功能,虽然有插件,但是移动端UI一般不能自定义,所以后来自已做了一个,直接在c#层扫描解析,UI上就可以自己发挥了。上代码:这个是调用zxing的脚本。usingUnityEngine;usingSystem.Collections;usingZXing;usingZXing.QrCode;publicclassQR{//////解析二维码/////////publics
- 如何使用labview生成二维码
Waiyuet Fung
要使用LabVIEW生成二维码,首先你需要安装LabVIEW和一个可以生成二维码的插件。有许多可以生成二维码的插件,如QRCodeVIs、QRCodeEncoder、QuickQRCode等。一旦你已经安装了这些软件,你就可以在LabVIEW中使用以下步骤生成二维码:打开LabVIEW并创建一个新的VI。在控制面板中拖入一个文本输入框,用于输入要生成二维码的文本。在数据处理面板中拖入二维码生成插件
- js 生成二维码
weixin_30519071
javascriptViewUI
插件描述:jquery.qrcode.js是一个能够在客户端生成矩阵二维码QRCode的jquery插件,使用它可以很方便的在页面上生成二维条码。如何使用它将jquery.qrcode.min.js和jquery添加到您的网页中然后创建一个DOM元素去包含生成qr码。然后你在此容器中的添加qrcodejQuery('#qrcode').qrcode("http://www.jq22.com");【
- 【nuxt.js】pc端链接转成二维码 可以手机端长按或者扫扫码识别
小峰同学的前端之路
需求:vue\nuxt.js项目中pc端链接转成二维码可以手机端长按或者扫扫码识别,最终效果:方法一:单纯生成带数据的二维码1):终端安装@xkeshi/vue-qrcode.js包npminstall--save@xkeshi/vue-qrcode//安装到生产环境importQrcodefrom"@xkeshi/vue-qrcode";//引入exportdefault{data(){retu
- 前端自动生成二维码并长按识别跳转 Vue
天使的同类
二维码前端vue.js
下载arale-qrcode依赖:npmiarale-qrcode--save引用依赖:importAraleQRCodefrom"arale-qrcode";代码部分://生成二维码按钮点击生成二维码//生成二维码弹窗importAraleQRCodefrom"arale-qrcode";//引入依赖exportdefault{name:"index",data(){return{show:fa
- 微信小程序展示二维码实现站外引流到微信,可以长按识别加微信!
摘要微信小程序有一个非常好的功能,就是支持urlscheme跳转,你可以在微信外部跳转到微信内部直接打开小程序指定的页面。现在很多站外引流到微信都是通过这个方法,通过urlscheme跳转到微信小程序显示微信二维码加微信实现的引流。所以本次文章,就是编写一个微信小程序展示二维码的页面,通过简单的路径配置,可以快速生成页面。代码showQrcode.wxml{{desc}}{{errorInfo}}
- c# 二维码生成库ThoughtWorks使用指南
weixin_34378922
python
2019独角兽企业重金招聘Python工程师标准>>>二维码生成解析指导By:hollow在二维码生成解决方案中我们选择ThoughtWorks的QRCode库。在项目中引入ThoughtWorks.QRCode.dll此dll在文件夹中可以获得。引入相关命名空间:using ThoughtWorks.QRCode.Codec;using ThoughtWorks.QRCode.Codec.Dat
- 使用Python生成二维码的完整指南
不爱学英文的码字机器
PythonPython项目python开发语言
无边落木萧萧下,不如跟着可莉一起游~可莉将这篇博客收录在了:《Python》可莉推荐的优质博主首页:Kevin’sblog本文将介绍如何使用Python中的qrcode库来生成二维码。通过简单的代码示例和详细解释,读者将学习如何在Python中轻松生成自定义的二维码。目录1、安装qrcode库2、生成简单的二维码3、生成自定义样式的二维码4、生成带有链接的二维码5、可莉的小创作1、安装qrcode
- 计算机设计大赛 深度学习二维码识别
iuerfee
python
文章目录0前言2二维码基础概念2.1二维码介绍2.2QRCode2.3QRCode特点3机器视觉二维码识别技术3.1二维码的识别流程3.2二维码定位3.3常用的扫描方法4深度学习二维码识别4.1部分关键代码5测试结果6最后0前言优质竞赛项目系列,今天要分享的是python+opencv+深度学习实现二维码识别该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!学长这里给一个题目综合评分(每项满分5
- 如何使用Python打造办公小助手工具
python
今天,给大家介绍Python一些鲜为人知的操作。这些操作,并非是炫技,而是真的实用!功能合集,欢迎大家star:https://gitee.com/CoderWanFeng/python-office以下代码1.生成二维码我们在日常生活中经常看到二维码,QR码节省了很多用户的时间。我们也可以用python库qrcode为网站或个人资料创建独特的QR码。安装pipinstall-ihttps://p
- VUE 生成二维码插件qrcodejs2踩的坑
老街老街
使用步骤:1.安装qrcodejs2(注意:安装的是qrcodejs2,不要安装qrcode--->会报错)npminstallqrcodejs2--save2.页面引入image.png3。注意引入的时候://注意:在需要调用的地方这样必须这样调用否则会出现appendChildnull就是id为qrcode的dom获取不到返回结果为nullthis.$nextTick(function(){t
- Python二维码生成工具
中医是一种语言艺术
pythonjava服务器
importqrcodedata="https://www.baidu.cn"qr=qrcode.QRCode(version=1,box_size=10,border=5)qr.add_data(data)qr.make(fit=True)img=qr.make_image(fill="black",back_color="white")img.save("qr_code.png")下载这个qr
- 【Python】【二维码生成器】【简单】
ljh1257
Pythonpython
文章目录认识第三方库查找第三方库使用pip安装第三方库安装qrcode实现二维码生成器认识第三方库虽然Python标准库已经很强大了,但是终归还是有限的。然而,Python还有第三方库。第三方库,指的是别人实现好的库,可以直接使用。因为第三方库的数量非常多,是由不同的人、不同的组织实现的。因此,为了方便大家整理,Python官方提供了一个网站*https://pypi.org/*来收集第三方库。大
- iOS原生二维码的生成
sumrain_cloud
现在大多数的App都使用到二维码,所以就需要我们在App开发的时候,加入这个功能。其实苹果官方也提供了这样的框架,这个框架是需要手动添加的1.导入库后,我们就可以对象了//创建过滤对象CIQRCodeGenerator必须这样写才可以创建出来二维码(意思就是我要创建的是二维码,个人理解,英语水平有限)CIFilter*filter=[CIFilterfilterWithName:@"CIQRCod
- C语言使用QRcode生成二维码
迎風吹頭髮
编程小记二维码的生成
C语言使用QRcode生成二维码的简单操作首先需要QRcode源码包可以参考这位大神的文章:https://blog.csdn.net/qq_21475601/article/details/71480028下面是我的代码:生成的话只需要源码的三个文件分别是data_type.h,QR_Encode.c,QR_Encode.hintmain(void){EncodeData("aaa");inti
- 小程序生成图片并保存
艾呀艾
小程序html5微信小程序
wxml保存到相册jsdata:{username:'',//学员姓名receipt:'',//收据单号qrCode:'',canvas:'',//画布对象canvasW:0,//画布宽canvasH:0,//画布高},/***生命周期函数--监听页面加载*/onLoad:function(options){console.log(options);letthat=this;constdpr=wx
- QRCode二维码与PDF417码生成与读取JAVA+HTML
cqwuliu
jAVA工具智能识别图片File处理工具javaxcode图像识别html前端
二维码importcom.google.zxing.*;importcom.google.zxing.client.j2se.BufferedImageLuminanceSource;importcom.google.zxing.client.j2se.MatrixToImageConfig;importcom.google.zxing.client.j2se.MatrixToImageWrite
- 字符串转二维码,一维码
Alex_1799
//字符串转二维码(参数给定两个字符串)publicstaticvoidstrToQRcode(Stringstr,Stringflowno)throwsException{//定义一个宽度intwidth=200;//定义一个高度intheight=200;//定义一个黑颜色intBLACK=0xFF000000;//定义一个白颜色intWHITE=0xFFFFFFFF;//定义一个格式Stri
- mondb入手
木zi_鸣
mongodb
windows 启动mongodb 编写bat文件,
mongod --dbpath D:\software\MongoDBDATA
mongod --help 查询各种配置
配置在mongob
打开批处理,即可启动,27017原生端口,shell操作监控端口 扩展28017,web端操作端口
启动配置文件配置,
数据更灵活 
- 大型高并发高负载网站的系统架构
bijian1013
高并发负载均衡
扩展Web应用程序
一.概念
简单的来说,如果一个系统可扩展,那么你可以通过扩展来提供系统的性能。这代表着系统能够容纳更高的负载、更大的数据集,并且系统是可维护的。扩展和语言、某项具体的技术都是无关的。扩展可以分为两种:
1.
- DISPLAY变量和xhost(原创)
czmmiao
display
DISPLAY
在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下内容:DISPLAY=:0.0
- 获取B/S客户端IP
周凡杨
java编程jspWeb浏览器
最近想写个B/S架构的聊天系统,因为以前做过C/S架构的QQ聊天系统,所以对于Socket通信编程只是一个巩固。对于C/S架构的聊天系统,由于存在客户端Java应用,所以直接在代码中获取客户端的IP,应用的方法为:
String ip = InetAddress.getLocalHost().getHostAddress();
然而对于WEB
- 浅谈类和对象
朱辉辉33
编程
类是对一类事物的总称,对象是描述一个物体的特征,类是对象的抽象。简单来说,类是抽象的,不占用内存,对象是具体的,
占用存储空间。
类是由属性和方法构成的,基本格式是public class 类名{
//定义属性
private/public 数据类型 属性名;
//定义方法
publ
- android activity与viewpager+fragment的生命周期问题
肆无忌惮_
viewpager
有一个Activity里面是ViewPager,ViewPager里面放了两个Fragment。
第一次进入这个Activity。开启了服务,并在onResume方法中绑定服务后,对Service进行了一定的初始化,其中调用了Fragment中的一个属性。
super.onResume();
bindService(intent, conn, BIND_AUTO_CREATE);
- base64Encode对图片进行编码
843977358
base64图片encoder
/**
* 对图片进行base64encoder编码
*
* @author mrZhang
* @param path
* @return
*/
public static String encodeImage(String path) {
BASE64Encoder encoder = null;
byte[] b = null;
I
- Request Header简介
aigo
servlet
当一个客户端(通常是浏览器)向Web服务器发送一个请求是,它要发送一个请求的命令行,一般是GET或POST命令,当发送POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request Header) 用以指明请求数据的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers,如:
- HttpClient4.3 创建SSL协议的HttpClient对象
alleni123
httpclient爬虫ssl
public class HttpClientUtils
{
public static CloseableHttpClient createSSLClientDefault(CookieStore cookies){
SSLContext sslContext=null;
try
{
sslContext=new SSLContextBuilder().l
- java取反 -右移-左移-无符号右移的探讨
百合不是茶
位运算符 位移
取反:
在二进制中第一位,1表示符数,0表示正数
byte a = -1;
原码:10000001
反码:11111110
补码:11111111
//异或: 00000000
byte b = -2;
原码:10000010
反码:11111101
补码:11111110
//异或: 00000001
- java多线程join的作用与用法
bijian1013
java多线程
对于JAVA的join,JDK 是这样说的:join public final void join (long millis )throws InterruptedException Waits at most millis milliseconds for this thread to die. A timeout of 0 means t
- Java发送http请求(get 与post方法请求)
bijian1013
javaspring
PostRequest.java
package com.bijian.study;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURL
- 【Struts2二】struts.xml中package下的action配置项默认值
bit1129
struts.xml
在第一部份,定义了struts.xml文件,如下所示:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts
- 【Kafka十三】Kafka Simple Consumer
bit1129
simple
代码中关于Host和Port是割裂开的,这会导致单机环境下的伪分布式Kafka集群环境下,这个例子没法运行。
实际情况是需要将host和port绑定到一起,
package kafka.examples.lowlevel;
import kafka.api.FetchRequest;
import kafka.api.FetchRequestBuilder;
impo
- nodejs学习api
ronin47
nodejs api
NodeJS基础 什么是NodeJS
JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。
每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了docum
- java-64.寻找第N个丑数
bylijinnan
java
public class UglyNumber {
/**
* 64.查找第N个丑数
具体思路可参考 [url] http://zhedahht.blog.163.com/blog/static/2541117420094245366965/[/url]
*
题目:我们把只包含因子
2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14
- 二维数组(矩阵)对角线输出
bylijinnan
二维数组
/**
二维数组 对角线输出 两个方向
例如对于数组:
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 },
slash方向输出:
1
5 2
9 6 3
13 10 7 4
14 11 8
15 12
16
backslash输出:
4
3
- [JWFD开源工作流设计]工作流跳跃模式开发关键点(今日更新)
comsci
工作流
既然是做开源软件的,我们的宗旨就是给大家分享设计和代码,那么现在我就用很简单扼要的语言来透露这个跳跃模式的设计原理
大家如果用过JWFD的ARC-自动运行控制器,或者看过代码,应该知道在ARC算法模块中有一个函数叫做SAN(),这个函数就是ARC的核心控制器,要实现跳跃模式,在SAN函数中一定要对LN链表数据结构进行操作,首先写一段代码,把
- redis常见使用
cuityang
redis常见使用
redis 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 strings、map、 list、sets、 sorted sets
引入jar包 jedis-2.1.0.jar (本文下方提供下载)
package redistest;
import redis.clients.jedis.Jedis;
public class Listtest
- 配置多个redis
dalan_123
redis
配置多个redis客户端
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&quo
- attrib命令
dcj3sjt126com
attr
attrib指令用于修改文件的属性.文件的常见属性有:只读.存档.隐藏和系统.
只读属性是指文件只可以做读的操作.不能对文件进行写的操作.就是文件的写保护.
存档属性是用来标记文件改动的.即在上一次备份后文件有所改动.一些备份软件在备份的时候会只去备份带有存档属性的文件.
- Yii使用公共函数
dcj3sjt126com
yii
在网站项目中,没必要把公用的函数写成一个工具类,有时候面向过程其实更方便。 在入口文件index.php里添加 require_once('protected/function.php'); 即可对其引用,成为公用的函数集合。 function.php如下:
<?php /** * This is the shortcut to D
- linux 系统资源的查看(free、uname、uptime、netstat)
eksliang
netstatlinux unamelinux uptimelinux free
linux 系统资源的查看
转载请出自出处:http://eksliang.iteye.com/blog/2167081
http://eksliang.iteye.com 一、free查看内存的使用情况
语法如下:
free [-b][-k][-m][-g] [-t]
参数含义
-b:直接输入free时,显示的单位是kb我们可以使用b(bytes),m
- JAVA的位操作符
greemranqq
位运算JAVA位移<<>>>
最近几种进制,加上各种位操作符,发现都比较模糊,不能完全掌握,这里就再熟悉熟悉。
1.按位操作符 :
按位操作符是用来操作基本数据类型中的单个bit,即二进制位,会对两个参数执行布尔代数运算,获得结果。
与(&)运算:
1&1 = 1, 1&0 = 0, 0&0 &
- Web前段学习网站
ihuning
Web
Web前段学习网站
菜鸟学习:http://www.w3cschool.cc/
JQuery中文网:http://www.jquerycn.cn/
内存溢出:http://outofmemory.cn/#csdn.blog
http://www.icoolxue.com/
http://www.jikexue
- 强强联合:FluxBB 作者加盟 Flarum
justjavac
r
原文:FluxBB Joins Forces With Flarum作者:Toby Zerner译文:强强联合:FluxBB 作者加盟 Flarum译者:justjavac
FluxBB 是一个快速、轻量级论坛软件,它的开发者是一名德国的 PHP 天才 Franz Liedke。FluxBB 的下一个版本(2.0)将被完全重写,并已经开发了一段时间。FluxBB 看起来非常有前途的,
- java统计在线人数(session存储信息的)
macroli
javaWeb
这篇日志是我写的第三次了 前两次都发布失败!郁闷极了!
由于在web开发中常常用到这一部分所以在此记录一下,呵呵,就到备忘录了!
我对于登录信息时使用session存储的,所以我这里是通过实现HttpSessionAttributeListener这个接口完成的。
1、实现接口类,在web.xml文件中配置监听类,从而可以使该类完成其工作。
public class Ses
- bootstrp carousel初体验 快速构建图片播放
qiaolevip
每天进步一点点学习永无止境bootstrap纵观千象
img{
border: 1px solid white;
box-shadow: 2px 2px 12px #333;
_width: expression(this.width > 600 ? "600px" : this.width + "px");
_height: expression(this.width &
- SparkSQL读取HBase数据,通过自定义外部数据源
superlxw1234
sparksparksqlsparksql读取hbasesparksql外部数据源
关键字:SparkSQL读取HBase、SparkSQL自定义外部数据源
前面文章介绍了SparSQL通过Hive操作HBase表。
SparkSQL从1.2开始支持自定义外部数据源(External DataSource),这样就可以通过API接口来实现自己的外部数据源。这里基于Spark1.4.0,简单介绍SparkSQL自定义外部数据源,访
- Spring Boot 1.3.0.M1发布
wiselyman
spring boot
Spring Boot 1.3.0.M1于6.12日发布,现在可以从Spring milestone repository下载。这个版本是基于Spring Framework 4.2.0.RC1,并在Spring Boot 1.2之上提供了大量的新特性improvements and new features。主要包含以下:
1.提供一个新的sprin