- Django restframwork中使用分页及实现自定义分页
菩提老鹰
Djangodjangopythonpagination分页restframework
关于为何要分页以及如何在Django+Template架构中如何使用分页,可以参考之前的文章django自定义分页类和使用总结DjangoRestFramework中分页限制今天开篇我们先不讲如何使用,我们先说Django+restframework实现前后端分离项目开发时,分页功能使用的限制?缘由是之前在开发运维平台的时候,没有正确使用分页功能,导致自定义的分页在不同情况下,有的不能用,有的能用
- 使用Windows service创建一个定时器执行定时任务
qingyou2006
程序设计c#开发语言windows服务器
一、需求使用windowsservice创建一个定时任务,每隔一段时间写入文件日志,也可以去访问某个网站或者下载数据任务。二、实现1、打开Visuastudio2022新建一个windowsService程序,我命名为TimerService注意:.NETFramwork框架的选择要与你电脑上的框架一致,我这里选择的是4.7.22、在Service1设计器中右击空白处选择查看代码3.在Servic
- .net core webAPI 使其同时支持返回json或xml
weixin_30762087
json测试
在.netframwork的mvc框架下创建的webapi默认同时支持json和xml。但是.netcore新建的webAPI默认只支持返回json,如果想要同时支持XML。需要修改下配置。在项目的startup.cs文字中,修改services.AddMvc(),为项目添加xml支持。services.AddMvc(options=>{options.InputFormatters.Add(ne
- Django REST framwork-06-使用 ViewSets 视图集和 Routers 路由
shark_西瓜甜
DjangoRESTframworkdjangopython后端
文章目录`GenericViewSet`定义视图注册路由访问`ReadOnlyModelViewSet`源码`ModelViewSet`源码`ModelViewSet`源码`GenericViewSet`源码GenericViewSet重写了.as_view方法,和DRF的Routers结合,可以简化路由配置。返回一组列表数据定义视图fromrest_frameworkimportviewsets
- Django REST framwork-03-使用mixin和基于类的通用(generics)视图
shark_西瓜甜
DjangoRESTframwork
文章目录一、mixins和generics.GenericAPIView示例model编写类视图generics.GenericAPIView提供了更多的属性,从而让开发人员写更少的代码,实现更多的功能。这些属性包括但不限于:配置URL重启Django测试查看页面格式的API查看JSON格式的APIJSON数据如下关于mixin和基础核心类基类提供核心功能,就是处理请求和响应,有`as_view`
- Django REST framwork-04-分页
shark_西瓜甜
DjangoRESTframworkdjangopython后端
文章目录DRF配置项的设置位置如何设置分页1使用Django自带的默认分页类和页面大小2编写自定义的分页类3.如何设置并使用3.1全局使用3.2给某个视图使用3.3URL配置3.4效果图Django提供了一些类来帮助您管理分页数据-即分布在多个页面上的数据,使用“上一页/下一页”进行跳转链接。DRF配置项的设置位置所有关于DRF的设置,都必须在settings.py文件中的REST_FRAMEWO
- 开源博客项目Blog .NET Core源码学习(8:EasyCaching使用浅析)
gc_2299
网页编程EasyCachingBlog博客
开源博客项目Blog使用EasyCaching模块实现缓存功能,主要是在App.Framwork项目中引用了多类包,包括内存缓存(EasyCaching.InMemory)、Redis缓存(EasyCaching.CSRedis),同时支持多种序列化方式(EasyCaching.Serialization.Json、EasyCaching.Serialization.MessagePack)。
- python自动化测试四
166账号
用一篇文章来介绍关于python自动化测试里面,不同的测试框架以及在自动化测试中会用到的一些库测试框架pytest一个成熟的全功能Python测试工具hypothesisHypothesis是一个基于先进的Quickcheck风格特性的测试库nose2nose扩展了unittest的功能robotframwork一个通用的自动化测试框架unittest(Python标准库)单元测试框架GUI/We
- [M1]iOS编译xcframework, 模拟器支持arm64架构
谷云龙GGBond
XcodeiOSxcframeworkcocoamacosobjective-c
先抛问题,编译报错:binarieswithmultipleplatformsarenotsupported“xxxx-ios-simulator.framwork”.如果你能看到这篇文章,大概率是因为使用Mac的M系列芯片编译xcframework出现这个问题导致的.MacIntel环境不会出现这个错误.确保你的Xcode构建设置中的“BuildActiveArchitectureOnly”选项
- ApiAutoTest框架简介
飘凛枫叶
测试框架
一、背景在做企业工厂后台系统的接口自动化的过程中,遇到了些之前没有遇到过的问题,中间断断续续的考虑了很多种方法,最后是把所有问题都解决了,总结出了一套自主搭建的接口自动化框架,简单命名为ApiAutoTest框架,记录下从构思到实现的过程。二、简介市场上有很多做接口自动化测试的工具:postman、jmeter、httprunner、pytest、unittest、robotframwork…其实
- 第64节:Java中的Spring Boot 2.0简介笔记
掘金-我是哪吒
其他分类
Java中的SpringBoot2.0简介笔记springboot简介依赖java8的运行环境多模块项目打包和运行springboot是由springframework构建的,springframework是javaee的框架,springframework->springboot->springcloud分布式环境.springboot由java8+以上支持,因为底层springframwork
- 初识C#语言
TE-茶叶蛋
.Netc#开发语言
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、C#语言以及特点C#强大的编程功能二、C#与.NET三、.NET与.NETFramwork.Net框架(.NetFramework).NET与.NETFramework总结前言一、C#语言以及特点C#是微软公司发布的一种面向对象的,运行于.NETFramework和。NETCore之上的高级程序设计语言。由C和C++衍
- iOS 项目将图片打包成Bundle资源文件
KB_MORE
创建bundle文件,如下图,点击弹框,选择MacOS下面的Framwork&Library,点击Bundle,输入Bundle的名字,然后点击完成image点击创建好的bundle,修改属性分别修改以下属性"BaseSDK"设置为"iOS""BuildActiveArchitectureOnly"设置为"YES"InstallationDirectiotory删除掉后面的路径(这里注意是把所有的
- python关于测试的库
166账号
用一篇文章来介绍关于python自动化测试里面,不同的测试框架以及在自动化测试中会用到的一些库测试框架pytest一个成熟的全功能Python测试工具hypothesisHypothesis是一个基于先进的Quickcheck风格特性的测试库nose2nose扩展了unittest的功能robotframwork一个通用的自动化测试框架unittest(Python标准库)单元测试框架GUI/We
- 自动化测试框架对比与选型
SuperStar77
自动化技术pythonjava单元测试
目录一、自动化测试框架对比二、对比与选型三、测试框架实例1.Unnitest+DDT2.RobotFramwork(Python)3.TestNG(Java)一、自动化测试框架对比框架优点缺点Unnitest+DDT(Python)通过数据驱动的方式,快速地执行大量的测试用例。提供了很多功能,包括断言、测试装置、测试套件等等,可以满足各种测试需求。Unittest框架本身提供了丰富的断言方法,可以
- 记录Flink 线上碰到java.lang.OutOfMemoryError: GC overhead limit exceeded如何处理?
yzw_ai_sx
Flinkjavaflink开发语言
这个问题是FlinkTM内存中我们常见的,看到这个问题我们就要想到下面这句话:程序在垃圾回收上花了很多时间,却收集一点点内存,伴随着会出现CPU的升高。是不是大家出现这个问题都会出现上面这种情况呢。那我的问题出现如下:发现JVMHeap堆内存过高。那么堆内存包含2块:framworkheap一般设置是128MB,基本上不会出问题taskheap是我们用户写代码所使用的的堆内存,那我们就要考虑是不是
- python自动化测试二
孙奇
用一篇文章来介绍关于python自动化测试里面,不同的测试框架以及在自动化测试中会用到的一些库测试框架pytest一个成熟的全功能Python测试工具hypothesisHypothesis是一个基于先进的Quickcheck风格特性的测试库nose2nose扩展了unittest的功能robotframwork一个通用的自动化测试框架unittest(Python标准库)单元测试框架GUI/We
- IDEA创建Servlet环境搭建及测试程序------图文详解
小-枝-丫
servletjavajarservlet
一、新建一个普通的java项目二、给项目添加framwork支持三、数据导入四、将导入的开发包添加到依赖环境中五、配置项目的环境六、添加tomcat的支持七、测试一、新建一个普通的java项目1.file-——>New——>Project...2.左上角点击java,然后next3.这里直接next4.projectname:填写对应项目的projectLocation:选择项目存放的位置填写好之
- Framwork源码解析(4)_ActivityManagerService(AMS)启动流程(8.0)
ruiurrui
AndroidAMS启动流程
ActivityManagerService简介ActivityManagerService简称AMS,具有管理Activity行为、控制Activity的生命周期、派发消息事件、内存管理等功能。查看AMS源码之前一定要先看一下前文System_Server进程启动过程:https://blog.csdn.net/u010982507/article/details/104123531以下源码为8
- iOS 项目将图片打包成Bundle资源文件
陶小亮
创建bundle文件,如下图,点击弹框,选择MacOS下面的Framwork&Library,点击Bundle,输入Bundle的名字,然后点击完成image点击创建好的bundle,修改属性分别修改以下属性"BaseSDK"设置为"iOS""BuildActiveArchitectureOnly"设置为"YES"InstallationDirectiotory删除掉后面的路径(这里注意是把所有的
- robotFramwork 中如何禁用或跳过其中某个 testcase
SwTesting
RobotFrameworkpython
在RobotFramework中,你可以通过添加一个特殊的标签(tag)来禁用某个测试用例。这个标签是robot:skip。robotframework***Settings***TestSetupOpenApplication***TestCases***MyTestCase[Tags]robot:skipDoSomething
- (15)Django Rest framwork-GenericAPIView(过滤)
足__迹
第一步安装image.png指定应用image.png在视图中指定引擎/和过滤的字段image.png或者在setting中指定全局过滤引擎image.png演示:image.png
- win7开启.not framework 3.5组件功能失败参考解决方法【出现错误。并非所有的功能被成功更改。】
huangxr874668739
工具教程.net3.5doNet.netframework开启组件失败
在win7->控制面板->程序与功能->打开或关闭windows功能,勾选.netframwork3.5下面两项HTTP和非HTTP功能,点击确定。发现开启失败,且系统提示【出现错误。并非所有的功能被成功更改。】可参考如下解决:打开win7->控制面板->系统和安全->WindowsUpdate->检查更新,在可选更新中,勾选所有有关于.netframework的更新,点击更新确定,尤其是下面的
- RabbitMQ系列五 RabbitMQ安装
时之令
环境:IDE:ideaJDK:1.8RabbitMQ:3.6.10ApacheMaven:3.5.0SpringAMQP1.7.3.RELEASE.RabbitMQJAVAclient4.0.2SpringFramwork4.3.9RELEASESpringBoot1.5.6RELEASE.RabbitMQ介绍RabbitMQ是由LShift提供的一个AdvancedMessageQueuingP
- springboot项目在idea下的创建以及数据库的配置信息以及验证全流程
日月先生
intellij-ideaspringbootmaven数据库java
打开idea后,选择左侧对应的选项点击下一步之后,填写自定义的信息,需要注意的是Type那里要选择maven,这里可能默认是别的,Javaversion也要选择对,然后点击下一步然后进入安装插件的界面,首先我的项目是web项目,所以有了一个springweb,项目就能正常运行了,因为我的项目还需要连接数据库,所以还要有JDBCAPI来连接数据库,mybatisframwork他是一个连接数据库的插
- .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
懒人咖
工作笔记开发工具Mysql.netmysql数据库
文章目录.netframwork4.6操作MySQL报错Characterset‘utf8mb3‘isnotsupported解决方法详细报错内容解决方案修改数据修改表修改字段.netframwork4.6操作MySQL报错Characterset‘utf8mb3‘isnotsupported解决方法详细报错内容System.NotSupportedExceptionHResult=0x80131
- rest_framework_django 学习笔记二(视图路由)
严不纯
django学习笔记
rest_framework_django学习笔记二(视图路由)rest_framwork_django学习笔记一(序列化器)一、restframework中Request与Response1、RequestRESTframework传入视图的request对象不再是Django默认的HttpRequest对象,二是RESTFamework提供的扩展了HttpRequest类的Request类的对
- 手机模拟弱网测试-fiddler使用!
软件测试老乔
软件测试软件测试fiddler
一、安装Fiddler网上说要先安装.NETFramwork4,应该是由于本机已装,所以在安装Fiddler时并没有相关提示。Fiddler安装包:https://www.telerik.com/download/fiddler/fiddler4二、Fiddler通过代理连上手机首先电脑和手机要使用同一个无线网。1.Fiddler工具->选项卡,General选项卡Connections注意:fi
- 开源博客项目Blog .NET Core源码学习(7:FluentValidation使用浅析)
gc_2299
网页编程dotnet编程ASP.NETCoreFluentValidation
开源博客项目Blog.NET使用FluentValidation模块定义数据验证项,具体而言,是在App.Application项目中定义验证类,设置验证规则,同时在App.Framwork项目中基于FluentValidation.AspNetCore包设置ASP.NET验证管道自动验证。 App.Application项目中总共定义了六个验证类,使用的都是FluentValidation
- 【Django-DRF】多年md笔记第5篇:Django-DRF的Request、Response和视图详解
程序员一诺
python后端开发django-drfdjangopython后端
本文从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计RESTAPI,通过使用Django来实现一个RESTAPI为例,明确后端开发RESTAPI要做的最核心工作,然后介绍DjangoRESTframework能帮助我们简化开发RESTAPI的工作。Django-DRF全套笔记直接地址:请移步这里共5章,24子模块视图DjangoRESTframwork提供的视图的主要作用:控制序列化
- 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