- C++的list-map链表与映射表
芯动大师
C++语法嵌入式开发应用案例c++list链表
C++list-map链表与映射表的简单使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值。list链表链表是由节点之间通过指针连接而成的链式结构存储结构体,对于链表,C++标准库中已经提供了封装好的链表了。require:#include //1.包含头文件usingnamespacestd; //2.打开标准命名空间定义链表,并在首、尾添加、删除元素listlst
- linux如何修改密码,要在CentOS 7系统中修改密码
远方 hi
linux运维服务器
要在CentOS7系统中修改密码,你可以按照以下步骤操作:步骤1:登录到系统在登录提示符localhostlogin:后输入你的用户名。输入密码并按回车键。步骤2:修改密码登录后,使用passwd命令来修改密码:passwd系统会提示你输入新密码。输入新密码并确认:输入新密码并按回车键。再次输入新密码以确认。示例假设你想将密码从旧密码改为新密码,可以这样做:$passwdChangingpassw
- C#List排序多权重、自定义
秋漓
C#
一、对基础类型排序初始化一个list:Listlist=newList(){1,3,2,8,6};方法一:调用sort方法,如果需要降序,进行反转:list.Sort();//升序排序list.Reverse();//反转顺序方法二:使用lambda表达式,在前面加个负号就是降序了list.Sort((x,y)=>x.CompareTo(y));//升序list.Sort((x,y)=>-x.Co
- C++vector容器的使用
jax不摆烂
C++入门到精通c++开发语言
目录一、C++中什么是vector容器二、vector的特点三、使用场景四、对vector容器的简单使用1、vector构造函数2、vector赋值操作3、vector容量与元素个数4、vector的插入和删除5、vector数据的存取6、vector容器互换7、预留空间一、C++中什么是vector容器在C++中,vector是一个非常常用的标准模板库(STL)容器,它提供了动态数组的功能。ve
- 一定有人在首次使用DBeaver 时遇到oracle.jdbc.OracleDriver的问题
七分seven
oraclejar数据库
问题:oracle.jdbc.OracleDriver;Can'tcreatedriverinstanceErrorcreatingdriver'Oracle'instance.Mostlikelyrequiredjarfilesaremissing.Youshouldconfigurejarsindriversettings.Reason:can'tloaddriverclass'oracle.
- TPMS曲面的matlab生成及可视化-导出stl文件-导出abaqus的inp文件-周期性边界条件施加
qianxin1234
matlab开发语言
自编写函数包含的功能:tpms曲面生成tpms可视化tpms曲面采用拉普拉斯方法进行平滑(为了可以在abaqus中通过单元质量检测),函数为SmoothIsosurfacetpms导出stl文件,函数为WriteSTLtpms导出inp文件(施加周期性边界条件)函数为WriteINPclcclearNumberofgridpoints=[20,20,20];Numberofunitcells=[1
- javaBC库冲突问题
柠檬无糖可乐
开发语言
Security.removeProvider(“BC”);这一行代码会移除已添加的BouncyCastle安全提供者(如果它已经被添加)。“BC”是用于标识BouncyCastle提供者的别名。在之前的代码中,如果BouncyCastle提供者已经以别名“BC”被添加到Java安全提供者列表中,这一行会确保它被移除。这样做的目的是为了确保你使用的是最新版本的提供者,或者避免重复添加。Securi
- 【前端高频面试题--ES6篇】
码上有前
前端es6学习javascript
作者:“码上有前”文章简介:前端高频面试题欢迎小伙伴们点赞、收藏⭐、留言前端高频面试题--ES6篇往期精彩内容ES6ES6概念let和constletConst解构赋值模板字符串对象简化箭头函数形参赋初始值Rest参数扩展运算符扩展运算符的应用Symbol的基本使用对象添加Symbol类型的属性Symbol内置值迭代器生成器PromiseSetMapclass类数值扩展对象扩展模块化往期精彩内容【
- python使用TestLink-API-Python-client库对testLink操作——excel导入
fairytaildhk
pythonpythontestLinkexcel
依赖库:TestLink-API-Python-client,xlrd通过pip安装:python3-mpipinstallTestLink-API-Python-client(笔者本地有多个版本python,只有一个版本直接python就可以)url:替换自己的testLink地址http://xx.xx.xx.xx:xxxx/testlink/lib/api/xmlrpc/v1/xmlrpc.
- 贪心:P1090 合并果子 / [USACO06NOV] Fence Repair G(洛谷)
736我最帅
贪心算法c++贪心算法
本题对c++党来说有个福利STL里的优先队列:priority_queue具体用法参考以下链接:priority_queue本题链接#includeusingnamespacestd;intn,ans=0;priority_queue,greater>q;intmain(){cin>>n;for(inti=1;i>x;q.push(x);}while(q.size()>1){intx=q.top(
- 如何将3D模型嵌入正在Web网页?支持什么模型格式?
mirrornan
3d
在Web网页中嵌入3D模型,通常涉及以下几个步骤,并且支持多种模型格式。以下是详细的指南:一、嵌入步骤1、准备3D模型:确保你有要嵌入的3D模型文件。常见的支持模型格式包括obj、fbx、stl、glb、gltf、dae、3ds等。2、选择平台或工具:你可以选择专业的3D模型展示平台,如51建模网等,平台提供模型上传、编辑(如材质定制、热点添加、爆炸效果设置等)以及内嵌代码生成服务。3、上传模型:
- STL--list(双向链表)
不是吧啊喂
C++链表数据结构
目录一、list对象创建1、默认构造函数2、初始化列表3、迭代器4、全0初始化5、全值初始化6、拷贝构造函数二、list赋值操作1、=赋值2、assign(迭代器1,迭代器2)3、assign(初始化列表)4、assign(a个b)三、list大小操作1、判空2、大小3、调整大小四、数据插入1、头插2、尾插3、insert函数(与deque、vector类似)五、list数据删除1、头删2、尾删3
- java list 替换_Java 实例 – List 元素替换
一只帅鸟
javalist替换
Java实例-List元素替换以下实例演示了如何使用Collections类的replaceAll()来替换List中所有的指定元素:/*authorbyw3cschool.ccMain.java*/importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Listlist=Arrays.asList("oneTwot
- Java学习,List 元素替换
五味香
java学习python开发语言androidkotlingolang
Java中List接口,提供了多种方法来替换元素,可以通过索引,访问和替换List中的元素。示例:publicclassListElementReplacementExample{publicstaticvoidmain(String[]args){//创建ArrayListListlist=newArrayList<>();list.add("Apple");list.add("Banana")
- 使用github.com/prometheus/client_golang/prometheus包的注意事项
qq_1536161955
prometheusgolang服务器
1.panic:duplicatemetricscollectorregistrationattempted重复注册。错误代码如下promauto.NewCounter(prometheus.CounterOpts{Name:"name",ConstLabels:prometheus.Labels{"k1":"v1"},})promauto.NewCounter(prometheus.Counte
- java中String、List、数组之间的转换方式
ppo_wu
JAVAjavalistwindows后端
在Java中,String、List和数组(如String[])之间的转换是常见的操作。下面是如何在它们之间进行转换的示例。1.String转List通常,你不会直接将一个完整的String转换为List,但你可以将包含多个元素的字符串(如由逗号分隔的字符串)分割成多个部分,并将这些部分添加到List中。Stringstr="a,b,c,d";Listlist=Arrays.asList(str.
- arcgis js 怎么加载geoserver发布的wms服务
niuge No.1
1024程序员节
arcgisjsapi加载wms服务,官方的参考样例:WMSLayer|SampleCode|ArcGISMapsSDKforJavaScript4.30|EsriDeveloper按照官方样例加载比较奇怪,我们平常习惯用url或者json的方式加载,稍微改一下就行,如下:constlayer=newWMSLayer({url:"http://127.0.0.1:8080/geoserver/ne
- Windows不用anaconda安装labelImg及bug解决
欢天喜地小姐姐
解决bug技巧bug
1.Windows不用anaconda安装labelImg:安装labelImg所需环境–打开#安装labelImg所需环pipinstllpyqt5lxml#打开labelImgpythonlabelImg.py2.Windows:‘pip’不是内部或外部命令,也不是可运行的程序或批处理文件2.1原因分析系统环境变量没配置好2.2解决方法1.控制面板\系统和安全\系统”→“高级系统设置”→“高级
- [CrackCode] 2.3 Delete a node in the middle of a single linked list
flowercha
interviewpreparationalgorithmLinkedListcrackcodejava
Implementanalgorithmtodeleteanodeinthemiddleofasinglelinkedlist,givenonlyaccesstothatnodeEXAMPLEInput:thenode‘c’fromthelinkedlista->b->c->d->eResult:nothingisreturned,butthenewlinkedlistlookslikea->b-
- Delete the specified node in the linked list with dummy header
青眸ღ.
算法链表数据结构c语言
分数20作者伍建全单位重庆科技大学PleasecreateafunctionwiththeprototypevoiddeleteNode(ListL,intkey).ThisfunctionshoulddeletethefirstnodefromthelinkedlistLwithdummyheader,wherethedatafieldisequaltokey.Iftherearenonodes
- 【STL_ LIST】 STL | LIST 双向链表 |常用操作
くらんゆうき
c++list链表
一,STL大纲首先我们知道STL的设置的初衷,当我们程序猿在实现一些程序的时候,我们可能会重复的使用到一些数据结构,还有算法,我们所要说的stl就是被使用很多次的数据结构,我们把他分装到STL中,然后调用,这会使我们能更方便的来完成数据结构的实现,以及程序的设计常见的STL容器有:LIST双链表,VECTOR动态数组,QUEUE队列,STACK栈。。。二,LIST双链表容器1,数据结构的存储结构双
- 【STL】list 双向循环链表的使用介绍
VigorousVoyager
STLC++c++list链表数据结构STL
STL中list容器的详细使用说明一.list的文档介绍二.list的构造函数三.list中的访问与遍历操作四.list中的修改操作4.1list中的各种修改操作4.2list的迭代器失效问题五.list中的其他一些操作一.list的文档介绍list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独
- 语言集成查询LINQ
oulaqiao
linqc#
定义:语言集成查询(LINQ)是一系列直接将查询功能集成到C#语言的技术统称(用C#语言就能查询(数据库)等数据源的查询)IEnumerable和List的区别:IEnumerable是一个接口,只能用来遍历里面的数据ListList是一个类,它实现了IEnumerable接口,提供了丰富的成员方法,如Add、Remove、Clear、Sort等LINQ表达式查询语法:以from子句开头,且必须以
- C++遍历list元素
熊猫鹏-梓潼
#include//definelistlistorder1;//recordracknumberlistorder2;//recordpositioninrack//Afterorder1.push_back()andorder2.push_back()operationslist::iteratoriter1,iter2;for(iter1=order1.begin();iter1!=orde
- 时间序列预测综述
Super_Whw
时序预测
文章目录非周期时间序列预测1.转化为监督学习数据集,使用xgboot/LSTM模型/时间卷积网络/seq2seq(attention_based_model)2.Facebook-prophet,类似于STL分解思路3.深度学习网络,结合CNN+RNN+Attention,作用各不相同互相配合参考:非周期时间序列预测1.转化为监督学习数据集,使用xgboot/LSTM模型/时间卷积网络/seq2s
- 前端如何实现分页
忆宸_1
js前端js
前言虽然在实际开发中,大多数分页都是由后端处理,但还是有小部分场景需要前端来实现分页。实现并不难,仅作为记录,方便下次拿来直接使用。准备数据源数据源可以是从后端获取的数据列表,也可以是前端模拟的数据集。将数据源格式处理成数组即可。//模拟50条数据constlist=Array.from({length:50},(_,index)=>`Item${index+1}`);计算总页数计算总页数需要知道
- C++的STL库介绍及使用(初学者请食用)
陌晽叶吖
c++开发语言
C++STL(标准模板库)是C++中提供的一个强大而广泛的库,包含了多种常用的模板类和算法。对于初学者来说,掌握STL的基础是非常重要的,它能大大提高代码的效率和简洁性。下面是适用于C++STL库初学者的使用方法,涵盖了常用的容器、算法和迭代器等基本内容。1.STL容器STL容器是存储数据的类模板,常见的容器包括:Vector(向量)List(链表)Deque(双端队列)Map(映射)Set(集合
- ILI9806G 4.3吋触摸屏 LVGL9 描点函数
UIUI
lvgl9stm32f407ucos3
staticvoiddisp_flush(lv_display_t*disp_drv,constlv_area_t*area,uint16_t*px_map){if(disp_flush_enabled){/*Themostsimplecase(butalsotheslowest)toputallpixelstothescreenone-by-one*/int32_tx;int32_ty;int3
- STLG_05_04_Python - 函数
魔都天健
开发语言前端笔记python
Python函数是一种可重用的代码块,用于执行特定任务。它通过def关键字定义,可以接受参数作为输入,并通过return语句返回值。函数能够提高代码的模块化和可读性,方便维护和调试。无论是内置函数还是自定义函数,它们都是Python编程中实现功能和逻辑的重要工具。1.函数的定义和调用1.1函数的定义在Python中,函数是一段可重复使用的代码块,用于执行特定的任务。函数可以帮助我们将代码模块化,提
- STL--set(集合)
不是吧啊喂
C++c++开发语言
目录前言set:multiset:一、set对象创建1、默认构造2、初始化列表3、迭代器4、拷贝构造二、set赋值操作1、=set对象2、=初始化列表三、set大小操作1、判空2、大小四、set数据插入1、单值插入2、多值插入五、set数据查找六、set数据删除1、s.erase(x);删除x2、s.erase(迭代器);删除迭代器所在位置的值3、s.erase(迭代器1,迭代器2);七、set数
- 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