- vue2 el-table跨分页多选以及多选回显
snows_l
前端开发element-uivue2前端elementuivue.js
个人博客|snows_l.sBLIOGhttp://snows-l.site一、多选1、特别注意的属性以及方法::row-key="(_)=>_.mac":reserve-selection="true"@select="handleSelectionChange"@select-all="handleSelectionChangeAll"详情以及使用方法位置请查看代码2、代码:1)、templa
- 论文笔记-Contrastive Learning for Unpaired Image-to-Image Translation
kingsleyluoxin
计算机视觉论文笔记深度学习python计算机视觉机器学习人工智能深度学习
论文信息标题:ContrastiveLearningforUnpairedImage-to-ImageTranslation作者:TaesungPark,AlexeiA.Efros,RichardZhang,Jun-YanZhu机构:UniversityofCalifornia,Berkeley;AdobeResearch代码链接https://github.com/taesungp/contra
- 西门子自动化冗余系统通过多层次冗余设计
D-海漠
网络
西门子自动化冗余系统通过多层次冗余设计(包括PLC、电源、网络、从站及I/O模块)来确保系统的高可用性和稳定性。以下是具体实现方法及技术要点:一、PLC冗余设计硬件冗余架构冗余CPU配置:采用S7-1500R/H系列冗余CPU(如1515R或1517H),主备CPU通过冗余连接(X1接口)同步数据和程序,主CPU故障时备CPU无缝接管,切换时间可低至300ms614。同步机制:主备CPU通过同步链
- HTTPS通信(握手)过程
IT运维成长心得
https网络协议
HTTPS通信(即超文本传输安全协议)的握手过程是确保通信双方安全交换数据的关键步骤。以下是HTTPS握手过程的详细步骤:客户端发起请求:客户端(通常是浏览器)向服务器发起HTTPS请求。服务器响应:服务器收到请求后,会回应一个数字证书。这个证书是由一个受信任的第三方(证书颁发机构,CA)签发的,包含了服务器的公钥、服务器信息以及CA的签名。客户端验证证书:客户端使用内置的CA证书库来验证服务器的
- python爬虫项目
范哥来了
python爬虫开发语言
项目名称:国家自然科学基金大数据知识管理服务门户爬取项目爬取内容:爬取内容:资助项目爬取链接:HTTP://KD.NSFC.GOV.CN/BASEQUERY/SUPPORTQUERY为了完成“国家自然科学基金大数据知识管理服务门户”的资助项目信息爬取任务,我们需要设计一个网络爬虫。考虑到目标网站的具体情况,我们将采用Python语言结合requests库来处理HTTP请求,以及使用Beautifu
- Spring Boot项目如何使用MyBatis实现分页查询
m0_74825003
面试学习路线阿里巴巴springbootmybatis数据库
写在前面:大家好!我是。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭!用知识改变命运,用知识成就未来!加油(???o??)?(???o??)?文章目录为什么需要分页查询减少数据库压力减少网络传输数据量提高系统的稳定性提升用户体验原始的实现方式计算
- 手机抓https包安卓7以上ca证书安装方法
慕城南风
android
用charles或fiddler抓app包的https接口必须要安装ca证书,才能正常抓包,安卓7之前把ca证书安装到用户证书下即可,但安卓7以上只有系统级证书才能被信任,所以为了能正常抓包,需要把ca证书安装到系统证书下流程:下载OpenSSL制作证书导入到手机准备工作:电脑安装了OpenSSL电脑安装了Charles(其他抓包工具也是一样的原理)一台已root手机(模拟器也可以,但部分app会
- VSCode PDF Viewer 项目教程
卓炯娓
VSCodePDFViewer项目教程vscode-pdfviewerShowPDFpreviewinVSCode.项目地址:https://gitcode.com/gh_mirrors/vs/vscode-pdfviewer1.项目目录结构及介绍vscode-pdfviewer/├──.vscode/│├──extensions.json│└──launch.json├──lib/│├──web
- https握手过程
给我个面子中不
https网络协议http
HTTPS(HyperTextTransferProtocolSecure)是HTTP的安全版本,它通过SSL/TLS协议对通信内容进行加密,确保数据在传输过程中的机密性、完整性和身份验证。以下是HTTPS握手过程的详细说明,以及它是如何保证信息安全的。1.HTTPS的核心机制HTTPS的安全性主要依赖于以下技术:加密:使用对称加密和非对称加密结合的方式,确保数据在传输过程中不被窃听。身份验证:通
- YashanDB 运行日志管理
数据库
本文内容来自YashanDB官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E6%95%B0%E6%8D%AE%...运行日志通过日志级别控制记录开关和记录策略,级别为OFF时不记录运行日志。通过设置RUN\_LOG\_FILE\_COUNT参数修改运行日志的保留个数,当达到该参数设置的值(默认10)时,系统会自动删除时间靠前的日志。日志文件
- Promise.all() 和 Promise.allSettled()的区别
风无雨
#JavaScript前端javascript开发语言
特性Promise.all()Promise.allSettled()失败时行为任意一个Promise失败后立即终止,返回第一个错误等待所有Promise完成(无论成功或失败)返回值成功时返回结果数组;失败时返回第一个错误始终返回对象数组,每个对象包含status(状态)和value(成功值)或reason(错误)适用场景需要所有Promise必须成功(如并行请求依赖全部结果的场景)需要记录所有P
- 斗地主老是输?一起用Python做个AI出牌器!
姬姬姬姬姬姬
python人工智能
前言最近在网上看到一个有意思的开源项目,基于快手团队开发的开源AI斗地主——DouZero做的一个“成熟”的AI,项目开源地址【https://github.com/tianqiraf/DouZero_For_HappyDouDiZhu–tianqiraf】。今天我们就一起来学习下是如何制作一个基于DouZero的出牌器,看看AI是如何来帮助斗地主的!一、核心功能设计首先这款出牌器是基于DouZe
- 探索高效驱动之道:STM32 FOC库2.0全面解析与应用指南
嵇李美Rosalie
探索高效驱动之道:STM32FOC库2.0全面解析与应用指南【下载地址】STM32FOC库2.0资源下载STM32FOC库2.0资源下载项目地址:https://gitcode.com/open-source-toolkit/3a775在追求电机控制极致精度与效率的时代,【STM32FOC库2.0】如同一股清流,为开发者们提供了强大的工具。本文旨在深入挖掘这一宝藏开源项目的内涵,引领您走进无刷直流
- CentOS下安装ElasticSearch(日志分析)
墨痕诉清风
安全建设elasticsearch大数据日志分析
准备目录搞一个自己喜欢的目录mkdir/usr/local/app切换到该目录cd/usr/local/app下载wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz选择其他版本点击进入官网
- python:一次简单的爬虫
wstkqzl
python爬虫开发语言
importrequestsimportparselimporttimefromparselimportSelector#第一章链接https://www.qu04.cc/book/45808/2.html#第二章链接https://www.qu04.cc/book/45808/3.html#小说目录:https://www.qu04.cc/book/45808/url="https://www.
- 【SoC基础】第2节:CPU简介
望闻问嵌
#SoC单片机嵌入式硬件
:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】:文章若有幸对你有帮助,可点赞收藏⭐不迷路:内容若有错误,敬请留言指正!原创文,转载注明出处文章目录CPU结构设计CPU生产厂商CPU工作原理CPU的组成CPU的类型CPU内核与CPU的关系CPU内核种类参考CPU结构设计结构类型结构特点优点
- pip install速度慢怎么解决
滴答滴答滴嗒滴
pippython
如果您发现使用pipinstall安装Python包的速度很慢,可以尝试以下方法来解决:(1)更换镜像源:您可以使用国内的镜像源,通常国内镜像源的速度更快。例如,清华大学、阿里云、网易等都提供了Python镜像源。您可以通过在终端中运行以下命令来更改镜像源:pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple或者p
- stressapptest交叉编译(ARM64)
单车少年ing
arm64linux
一、代码下载:https://github.com/stressapptest/stressapptest二、编译:cdstressapptest#注意:XXX是你的目标主机。也就是你交叉编译工具链gnu前缀。比如你的交叉编译工具链是:aarch64-linux-gnu-gcc,那XXX就是aarch64-linux-gnuCC="xxx/aarch64-unknown-linux-gnu-gcc
- GEE下载REMA strip和mosaic数据的python脚本
WiIsonEdwards
pythonwindowslinux
EarthEngineDataCatalog:https://developers.google.com/earth-engine/datasets/catalog搜索REMA:importeeimportgeemapimportosimportwarnings#忽略所有警告warnings.filterwarnings("ignore")#下载REMAStrips数据(2m和8m)defdown
- python实现http协议
ajie1117
pythonhttp开发语言
在Python中,可以使用socket库实现一个简单的HTTP服务器和客户端,手动处理HTTP请求和响应。下面是一个Python版本的HTTP服务器和客户端示例。一、使用socket实现HTTP服务器HTTP服务器的基本原理是监听指定端口,等待客户端请求,解析HTTP请求,并返回HTTP响应。简单的HTTP服务器importsocketdefrun_http_server(host='127.0.
- 【SoC基础】单片机之RCC模块
望闻问嵌
#SoC单片机
:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】:文章若有幸对你有帮助,可点赞收藏⭐不迷路:内容若有错误,敬请留言指正!原创文,转载注明出处RCC模块简介RCC(ResetandClockControl)即复位和时钟控制模块,其基本功能总结如下:时钟源管理多源选择:支持多种时钟源,包含内部
- Python从0到100(三十四):Python中的urllib模块使用指南
是Dream呀
python开发语言
1.urllib模块概述在Python中,除了广泛使用的requests模块之外,urllib模块也是处理HTTP请求的重要工具。urllib模块在Python2中分为urllib和urllib2两个模块,而在Python3中,它们被合并为一个urllib模块。本文将重点介绍Python3中的urllib模块及其使用方法。2.urllib模块的基本方法介绍2.1urllib.request.url
- python nginx部署_nginx部署python应用
weixin_39611070
pythonnginx部署
2.nginx配置文件如下:#位于/nginx/conf/nginx.conf#usernobody;worker_processes1;events{worker_connections1024;}http{includemime.types;default_typeapplication/octet-stream;sendfileon;keepalive_timeout185;server{l
- python 使用Nginx和uWSGI来运行Python应用
weixin_33738555
运维python操作系统
参考:http://zmrenwu.com/post/20/uWSGI是一个Web应用服务器,它具有应用服务器,代理,进程管理及应用监控等功能。它支持WSGI协议,同时它也支持自有的uWSGI协议,该协议据说性能非常高,而且内存占用率低,为mod_wsgi的一半左右,我没有实测过。它还支持多应用的管理及应用的性能监控。虽然uWSGI本身就可以直接用来当Web服务器,但一般建议将其作为应用服务器配合
- 如何基于Gone编写一个Goner对接Apollo配置中心(上)—— 实现统一管理配置和监控配置变化
dapeng-大鹏
Gone框架介绍golanggone配置中心微服务Apollo
项目地址:https://github.com/gone-io/gone原文地址:https://github.com/gone-io/goner/blob/main/docs/build_goner.md本文介绍的例子,代码在:https://github.com/gone-io/goner/blob/main/apollo文章目录引言Gone框架与Goner组件简介Apollo配置中心简介编写
- Python中常见的抓取图片的方法
qq_31397725
python开发语言
在Python中,抓取图片的方法可以根据你的具体需求和使用场景有所不同。以下是一些常见的方法:使用requests库从URL下载图片:这是最常见的方法,适用于从网络上的URL下载图片。你可以使用requests库发送HTTP请求,然后将响应的内容保存到本地文件中。使用selenium库抓取网页中的图片:如果你需要从一个动态加载的网页中抓取图片,selenium可以帮助你模拟浏览器行为,等待页面加载
- JAVA:网络编程 Socket 的技术指南
拾荒的小海螺
JAVAjava网络开发语言
1、简述JavaNIO(Non-blockingI/O)是一种基于通道(Channel)和缓冲区(Buffer)的I/O模型,支持非阻塞通信和多路复用,适合高并发场景。相比传统的阻塞I/O(BIO),NIO更高效,因为它避免了线程被阻塞,降低了系统资源消耗。代码样例:https://gitee.com/lhdxhl/springboot-example.git核心组件:Channel(通道):数据
- 【网络爬虫】(2) requests模块,案例:网络图片爬取,附Python代码
立Sir
网络爬虫爬虫python
1.基本原理1.1requests模块requests是Python中一个非常流行的HTTP客户端库,用于发送所有的HTTP请求类型。它基于urllib,但比urllib更易用。中文文档地址:Requests:让HTTP服务人类—Requests2.18.1文档(1)requests.get(url,**kwargs)requests.get()函数是requests库中用于发送HTTPGET请求
- 爬虫基础
20岁30年经验的码农
1024程序员节
mavenpomorg.jsoupjsoup1.16.1org.apache.httpcomponentshttpcore4.4.16org.apache.httpcomponentshttpclient4.5.14commons-iocommons-io2.13.0====================================遍历网站内容爬取网站网址packagecom.xiaocao
- laravel框架查询数据集转为数组
小浮夸
框架laravel
$website_data=DB::table('fb_website')->where('website_status',1)->get()->map(function($value){return(array)$value;})->toArray();
- 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