- npm常用命令
zhanggongzichu
npm前端node.js
以往nodejs版本Node.js—Node.js版本CNPMBinariesMirror查看当前版本npm-v查看node安装在哪里wherenode清除缓存npmcacheclean--force淘宝镜像(只支持下载,不支持上传发布)npmconfigsetregistryhttps://registry.npm.taobao.org设置公司私服地址npmconfigsetregistry私服
- NPM镜像源设置
一张假钞
npm前端node.js
以设置阿里镜像源为例:#查看当前镜像源npmconfiggetregistry #设置阿里镜像源npmconfigsetregistryhttp://registry.npmmirror.com #删除阿里镜像源npmconfigdeleteregistryhttp://registry.npmmirror.com阿里镜像源网址:https://developer.aliyun.com/mirro
- NPM 使用介绍
lly202406
开发语言
NPM使用介绍引言NPM(NodePackageManager)是Node.js生态系统中的一个核心工具,用于管理JavaScript项目的依赖包。无论是开发一个小型脚本还是构建大型应用程序,NPM都能极大地提高开发效率。本文将详细介绍NPM的使用方法,包括安装、配置、依赖管理、包发布等,帮助您快速上手NPM。安装NPM在开始使用NPM之前,您需要确保已经安装了Node.js。NPM与Node.j
- npm镜像源
jinboliu000
npm前端
npm镜像源是npm软件包管理器的服务器地址,用于下载和安装npm包。常见的npm镜像源有以下几种:官方源:npm官方提供的默认源,地址是https://registry.npmjs.org/,但由于位于国外,速度较慢。淘宝源:由淘宝团队提供的镜像源,地址是https://registry.npm.taobao.org/,是国内服务器,因此速度较快。cnpm源:另一个由淘宝团队提供的镜像源,地址是
- Nuxt:利用public-ip这个npm包来获取公网IP
前端白袍
前端学习笔记——Vue篇tcp/ipnpm网络协议
目录一、安装public-ip包1.在Vue组件中使用2.在Nuxt.js插件中使用public-ip一、安装public-ip包npminstallpublic-ip1.在Vue组件中使用你可以在Nuxt.js的任意组件或者插件中使用public-ip来获取公网IP。下面是在一个Vue组件中如何使用它的例子:你的公网IP是:{{ip}}import{publicIp,publicIpv4,pub
- ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。 —— 本地有vite环境但却跑不起项目?
不做超级小白
前端npmvuenode.js
先说结论一般为了节流等多方面原因,项目打包时一般不会包括node模块,git管理进行push推送时也不会对node_modules文件夹进行推送,所以一般接手一个项目需要使用npmi先补好项目所需包环境再进行测试,很微不足道的一个细节,但是新手容易踩坑还意识不到问题出在哪。为什么不打包node模块在Vue项目中,通常不会将node_modules中的所有模块打包进最终的生产环境文件中,原因主要有以
- Mac系统中安装多版本的NodeJS
随风飘bill
macosnode.js
近期升级了NodeJS,有些旧项目无法跑起来了,所以想在电脑中安装不同项目时使用不同版本的NodeJS版本,由于现在使用的Mac笔记本电脑,在这里记录下Mac中安装多版本的NodeJS。Mac中使用n安装多版本的nodejs,且使用命令进行版本切换,在终端中输入相应命令,具体操作如下:1、使用npm全局安装nnpminstall-gn2、根据需求安装指定版本的nodesudo-En16.17.0(
- 【零散技术】MAC 安装多版本node
Odoo穆尘
前端macos
时间是我们最宝贵的财富,珍惜手上的每个时分不同前端项目运行的node版本不一致,会导致无法运行,就像Odoo也需要依据版本使用对应的python环境。python可以用conda随时切换版本,那么Node可以吗?答案是肯定的。1、安装n(类似于conda的工具,单一字符还是很特别)npminstall-gn2、安装nodesudo-En14.21.3版本参照表Node.jsVersionRelea
- 前端el-table导出pdf
努力奋进的前端小菜鸟
javascript前端vue.js
1、首先来看下效果图2、使用技术:html2Canvas、JsPDF插件,mode_modules下载两个插件npm i html2Canvas JsPDF其中,html2Canvas负责把html转为图片,JsPDF负责把图片转为pdf文件3、点击按钮触发打印事件//点击按钮触发打印事件button@click='htmlToPdf(节点ID',文件名')'>print//传入打印节点,文件名,
- vue 中利用canvas 给pdf文件加水印---详细教程(附上完整代码)
阿土不土
pdf前端vue.js
需求:在h5网页中打开pdf文件,要求给文件添加水印实现技术及插件:vue,vue-pdf,canvas插件安装:npmivue-pdf--savenpmipdf-lib--save原理:实现pdf预览,在显示pdf的容器上添加一层遮罩,用来存放水印具体实现代码详细介绍:{{pageNum}}/{{totalPages}}上一页下一页相关解释::page从第几页开始显示:src:pdf存放路径@p
- vue3+elementPlus之后台管理系统(从0到1)(day1-项目主体搭建)
沐暖沐
vue.js前端javascript
vue3官方文档:https://cn.vuejs.org/guide/introduction.html1、项目创建确保电脑已安装node查看命令:node-v进入项目目录,创建项目npminitvue@latestNeedtoinstallthefollowingpackages:
[email protected]?(y)yVue.js-TheProgressiveJav
- React使用less语法
世间万物皆对象
reactnpmwebpackreact.jsless前端
1.安装yarnaddlessless-loaderornpmilessless-loader2.打开webpack配置文件创建项目的时候我们是看不到webpack文件的需要暴露出来yarnejectornpmruneject3.配置less语法环境在config文件下找到webpack.config.js文件打开webpack.config.js找到如下图:在下面添加如下两句代码:constle
- React Native开发从入门到精通
赵梓宇
reactnative学习react.js
目录第一部分:ReactNative入门ReactNative简介什么是ReactNativeReactNative与原生开发对比ReactNative的优缺点开发环境搭建Node.js和npm的安装ReactNativeCLI和Expo的安装与使用AndroidStudio和Xcode配置模拟器和真机调试环境搭建第一个ReactNative应用创建项目项目结构解析简单的页面编写和运行第二部分:R
- Vue.js组件开发-实现HTML内容打印
LCG元
前端vue.jshtml前端
在Vue项目中实现打印功能,可以借助vue-html-to-paper插件来完成。步骤创建Vue项目:如果还没有Vue项目,可以使用VueCLI来创建一个新的项目。npminstall-g@vue/clivuecreatevue-print-templatecdvue-print-template安装vue-html-to-paper插件:该插件可以将HTML内容转换为打印页面。npminstal
- 自定义穿梭框 vue穿梭框
不停留
npm组件vuejshtmlvue.jscss3
基于vue和elementUI的穿梭框elementUI中提供了很强大的穿梭框组件,但是在具体的项目或是业务中,还会有一些特殊的需求没有办法满足。所以抽空做了这个穿梭框组件,供我们当前所迭代的产品使用,目前时初步试用,会再根据试用过程中做的优化再度更新。现在发出来是希望如果有遇到同样开发需求的童鞋,可以一起来完善这个组件。安装npminstalltransfer-table代码仓链接link.简介
- node-sass已经废弃了,需要替换成以下方式
i7i8i9com
sass前端css
今天runserve时一直提示:SyntaxError:Error:Cannotfindmodule'node-sass'而尝试安装:npminstallnode-sass又报错pmWARNconfigglobal`--global`,`--local`aredeprecated.Use`--location=global`instead.npmWARNoldlockfilenpmWARNoldl
- Node多终端前后端同时执行
锐视创想
前端nodenodejs
当前项目为node-vue-ele-app(服务端)└client(前端客户端)安装concurrentlynpmiconcurrently进入Client文件夹,编辑package.json"scripts":{"serve":"vue-cli-serviceserve","build":"vue-cli-servicebuild","start":"npmrunserve"}
- electron实现热更新以及和前端同时启动(三)
SquirrelPineal
前端electronvue.js
1、安装3个模块npminstall-Dwait-onnpminstall-Dconcurrentlynpminstallnodemon设置好端口"scripts":{"dev":"vite","build":"vue-tsc--noEmit&&vitebuild","preview":"vitepreview",
- webpack-bundle-analyzer 打包分析工具
cc蒲公英
辅助工具webpack前端node.js
移动端项目优化的时候,需要这个插件来可视化查看打包大小,在此记录下插件官网地址一.安装npminstall--save-devwebpack-bundle-analyzer二.使用方式:1.作为插件使用(推荐)在webpack配置文件,如果有生产配置文件放入生产配置文件里require方式引入进来,然后在plugins配置项new一个实例即可constwebpack=require('webpac
- webpack 打包自己的--windows
未来之窗软件服务
webpack前端node.js
第一步安装node1、安装nodejs:https://nodejs.org/zh-cn/download/releases/一、Window系统配置:打开命令窗口,进入当前工程目录npm配置淘宝镜像:npmconfigsetregistryhttp://registry.npm.taobao.org/npm安装parcel-bundler:npminstall-gparcel-bundler运行
- Vue.js组件开发-使用Vue3如何实现上传word作为打印模版
LCG元
前端vue.jsword前端
使用Vue3实现Word模板上传、解析和打印功能的完整解决方案:一、实现步骤安装依赖创建文件上传组件实现.docx文件解析创建打印预览组件实现打印功能样式优化二、完整代码实现1.安装依赖npminstallmammothaxios2.创建文件上传组件(FileUpload.vue)选择Word模板{{errorMessage}}importmammothfrom'mammoth';exportde
- eslint配置解读
小白路过
javascripteslint
主要介绍一些常规的eslint配置属性,及如何查看对应eslint插件的具体规则配置内容。extend配置常见的extend配置解析{extends:['plugin:vue/recommended']}也可以写成{plugins:['eslint-plugin-vue']}eslint插件命名规则:惯例是使用不带eslint-plugin-前缀的npm包名称。plugin:vue/recomme
- 类Node.js开源项目(最后一个鲜为人知)
liulun
node.jsc++
Node.js(https://nodejs.org/)Node.js基于V8和libuv创建,跨平台,生态丰富,大家都很熟悉,我就少说两句。Deno(https://deno.com/)Deno的创建者,就是Node.js的创建者:RyanDahl。它之所以离开Node,创建Deno主要是因为以下几个原因:历史包袱问题:比如:CommonJS和ESModulesnpm包管理机制与node_mod
- Electron+Vue3+ElectronForge整合 - 打包时整合 -分步打包
NorthCastle
ElectronVue3electronvue3electronforge打包vue3打包成桌面程序
说明本文介绍一下Electron+Vue3的打包整合的基本操作。实现的效果是:1、一个正常的Vue3项目;2、整合加入Electron框架:开发时Electron加载的是开发的vue项目;3、完成打包时整合:3.1先完成vue3项目的正常打包;3.2再完成electron项目的打包。步骤一:创建vue3项目常规操作,不再赘述。#创建项目npmcreatevue@latest#进入到项目目录cd#安
- download-git-repo 一款命令行下载仓库依赖
yqcoder
gitjavascript前端开发语言node.js
`download-git-repo`是一个用于从Git仓库下载代码的Node.js工具,它可以从GitHub、GitLab或Bitbucket等Git托管平台下载仓库。一、安装`download-git-repo`npminstalldownload-git-repo二、基本用法1.简单下载//引入`download-git-repo`模块constdownload=require("downl
- 用Github+hexo搭个人博客遇到的坑
hamster2021
githubnpmnode.jsgit
我搭博客看的是知乎上这个教程:从零开始搭建个人博客(超详细)-知乎(zhihu.com)当我按教程第5篇在Blog文件夹里用gitbash输入以下命令时:npminstallhexo-deployer-git--save报出了以下错误:npmERR!codeEPERMnpmERR!syscallopennpmERR!pathD:\nodejs\node_cache\_cacache\tmp\5c2
- uniapp(vue) 使用i18n国际化翻译,复制即可使用!一看就懂
黑云压城After
uni-appvue.js前端
一、在项目的文件目录里cmd执行下载命令安装依赖执行:npminstallvue-i18n@next二、执行命令下载完成后,进入项目检查一下是否存在。三、在咱们项目里面创建一个lang目录,目录的名字自己随便起,我这边以lang为演示。zh.js://zh.jsexportdefault{language:{//这里面放所有的中文替换词text:'TikTokShop(也称TikTok电商)是创新
- webview打开本小程序页面
2401_86082326
小程序
首先下载微信**jssdk**npminstallweixin-js-sdk在页面中引入importwxfrom'weixin-js-sdk'之后就可以使用wx.miniProgram.navigateTo({url:'/pages/index/index?id='+id})的方式进行h5和微信小程序页面进行跳转互通
- Yarn vs npm:你了解了吗
那只斑马不睡觉
npmjavascript前端
奠定基础回到过去,一个简单的文本编辑器就足以让开发人员创建和管理他们的大部分项目。但从那时起,Web发生了翻天覆地的变化。如今,即使是一个相当简单的项目也很常见,拥有数百或数千个脚本,具有复杂的嵌套依赖项,如果没有某种自动化工具,这些脚本根本无法管理。这就是管理器发挥作用的地方。包管理器是一种以多种方式自动处理项目依赖关系的工具。例如,在包管理器的帮助下,我们可以安装、卸载、更新和升级包,配置项目
- npm cnpm pnpm npx yarn的区别
chenNorth。
前端npm前端node.js
npm、cnpm、pnpm、npx、yarn这几个工具都与Node.js项目的包管理和命令执行相关,它们的区别具体如下:本质与功能定位npm:是Node.js官方的包管理工具,提供了安装、卸载、更新、发布等全方位的包管理功能,还能通过脚本命令来执行各种任务,如启动项目、运行测试等,是Node.js生态系统中包管理的基础工具。cnpm:是npm的国内镜像版本,主要功能与npm一致,但它使用了国内的镜
- 二分查找排序算法
周凡杨
java二分查找排序算法折半
一:概念 二分查找又称
折半查找(
折半搜索/
二分搜索),优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而 查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表 分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步
- java中的BigDecimal
bijian1013
javaBigDecimal
在项目开发过程中出现精度丢失问题,查资料用BigDecimal解决,并发现如下这篇BigDecimal的解决问题的思路和方法很值得学习,特转载。
原文地址:http://blog.csdn.net/ugg/article/de
- Shell echo命令详解
daizj
echoshell
Shell echo命令
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo string
您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串:
echo "It is a test"
这里的双引号完全可以省略,以下命令与上面实例效果一致:
echo Itis a test 2.显示转义
- Oracle DBA 简单操作
周凡杨
oracle dba sql
--执行次数多的SQL
select sql_text,executions from (
select sql_text,executions from v$sqlarea order by executions desc
) where rownum<81;
&nb
- 画图重绘
朱辉辉33
游戏
我第一次接触重绘是编写五子棋小游戏的时候,因为游戏里的棋盘是用线绘制的,而这些东西并不在系统自带的重绘里,所以在移动窗体时,棋盘并不会重绘出来。所以我们要重写系统的重绘方法。
在重写系统重绘方法时,我们要注意一定要调用父类的重绘方法,即加上super.paint(g),因为如果不调用父类的重绘方式,重写后会把父类的重绘覆盖掉,而父类的重绘方法是绘制画布,这样就导致我们
- 线程之初体验
西蜀石兰
线程
一直觉得多线程是学Java的一个分水岭,懂多线程才算入门。
之前看《编程思想》的多线程章节,看的云里雾里,知道线程类有哪几个方法,却依旧不知道线程到底是什么?书上都写线程是进程的模块,共享线程的资源,可是这跟多线程编程有毛线的关系,呜呜。。。
线程其实也是用户自定义的任务,不要过多的强调线程的属性,而忽略了线程最基本的属性。
你可以在线程类的run()方法中定义自己的任务,就跟正常的Ja
- linux集群互相免登陆配置
林鹤霄
linux
配置ssh免登陆
1、生成秘钥和公钥 ssh-keygen -t rsa
2、提示让你输入,什么都不输,三次回车之后会在~下面的.ssh文件夹中多出两个文件id_rsa 和 id_rsa.pub
其中id_rsa为秘钥,id_rsa.pub为公钥,使用公钥加密的数据只有私钥才能对这些数据解密 c
- mysql : Lock wait timeout exceeded; try restarting transaction
aigo
mysql
原文:http://www.cnblogs.com/freeliver54/archive/2010/09/30/1839042.html
原因是你使用的InnoDB 表类型的时候,
默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,
因为有的锁等待超过了这个时间,所以抱错.
你可以把这个时间加长,或者优化存储
- Socket编程 基本的聊天实现。
alleni123
socket
public class Server
{
//用来存储所有连接上来的客户
private List<ServerThread> clients;
public static void main(String[] args)
{
Server s = new Server();
s.startServer(9988);
}
publi
- 多线程监听器事件模式(一个简单的例子)
百合不是茶
线程监听模式
多线程的事件监听器模式
监听器时间模式经常与多线程使用,在多线程中如何知道我的线程正在执行那什么内容,可以通过时间监听器模式得到
创建多线程的事件监听器模式 思路:
1, 创建线程并启动,在创建线程的位置设置一个标记
2,创建队
- spring InitializingBean接口
bijian1013
javaspring
spring的事务的TransactionTemplate,其源码如下:
public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean{
...
}
TransactionTemplate继承了DefaultT
- Oracle中询表的权限被授予给了哪些用户
bijian1013
oracle数据库权限
Oracle查询表将权限赋给了哪些用户的SQL,以备查用。
select t.table_name as "表名",
t.grantee as "被授权的属组",
t.owner as "对象所在的属组"
- 【Struts2五】Struts2 参数传值
bit1129
struts2
Struts2中参数传值的3种情况
1.请求参数绑定到Action的实例字段上
2.Action将值传递到转发的视图上
3.Action将值传递到重定向的视图上
一、请求参数绑定到Action的实例字段上以及Action将值传递到转发的视图上
Struts可以自动将请求URL中的请求参数或者表单提交的参数绑定到Action定义的实例字段上,绑定的规则使用ognl表达式语言
- 【Kafka十四】关于auto.offset.reset[Q/A]
bit1129
kafka
I got serveral questions about auto.offset.reset. This configuration parameter governs how consumer read the message from Kafka when there is no initial offset in ZooKeeper or
- nginx gzip压缩配置
ronin47
nginx gzip 压缩范例
nginx gzip压缩配置 更多
0
nginx
gzip
配置
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用
- java-13.输入一个单向链表,输出该链表中倒数第 k 个节点
bylijinnan
java
two cursors.
Make the first cursor go K steps first.
/*
* 第 13 题:题目:输入一个单向链表,输出该链表中倒数第 k 个节点
*/
public void displayKthItemsBackWard(ListNode head,int k){
ListNode p1=head,p2=head;
- Spring源码学习-JdbcTemplate queryForObject
bylijinnan
javaspring
JdbcTemplate中有两个可能会混淆的queryForObject方法:
1.
Object queryForObject(String sql, Object[] args, Class requiredType)
2.
Object queryForObject(String sql, Object[] args, RowMapper rowMapper)
第1个方法是只查
- [冰川时代]在冰川时代,我们需要什么样的技术?
comsci
技术
看美国那边的气候情况....我有个感觉...是不是要进入小冰期了?
那么在小冰期里面...我们的户外活动肯定会出现很多问题...在室内呆着的情况会非常多...怎么在室内呆着而不发闷...怎么用最低的电力保证室内的温度.....这都需要技术手段...
&nb
- js 获取浏览器型号
cuityang
js浏览器
根据浏览器获取iphone和apk的下载地址
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" content="text/html"/>
<meta name=
- C# socks5详解 转
dalan_123
socketC#
http://www.cnblogs.com/zhujiechang/archive/2008/10/21/1316308.html 这里主要讲的是用.NET实现基于Socket5下面的代理协议进行客户端的通讯,Socket4的实现是类似的,注意的事,这里不是讲用C#实现一个代理服务器,因为实现一个代理服务器需要实现很多协议,头大,而且现在市面上有很多现成的代理服务器用,性能又好,
- 运维 Centos问题汇总
dcj3sjt126com
云主机
一、sh 脚本不执行的原因
sh脚本不执行的原因 只有2个
1.权限不够
2.sh脚本里路径没写完整。
二、解决You have new mail in /var/spool/mail/root
修改/usr/share/logwatch/default.conf/logwatch.conf配置文件
MailTo =
MailFrom
三、查询连接数
- Yii防注入攻击笔记
dcj3sjt126com
sqlWEB安全yii
网站表单有注入漏洞须对所有用户输入的内容进行个过滤和检查,可以使用正则表达式或者直接输入字符判断,大部分是只允许输入字母和数字的,其它字符度不允许;对于内容复杂表单的内容,应该对html和script的符号进行转义替换:尤其是<,>,',"",&这几个符号 这里有个转义对照表:
http://blog.csdn.net/xinzhu1990/articl
- MongoDB简介[一]
eksliang
mongodbMongoDB简介
MongoDB简介
转载请出自出处:http://eksliang.iteye.com/blog/2173288 1.1易于使用
MongoDB是一个面向文档的数据库,而不是关系型数据库。与关系型数据库相比,面向文档的数据库不再有行的概念,取而代之的是更为灵活的“文档”模型。
另外,不
- zookeeper windows 入门安装和测试
greemranqq
zookeeper安装分布式
一、序言
以下是我对zookeeper 的一些理解: zookeeper 作为一个服务注册信息存储的管理工具,好吧,这样说得很抽象,我们举个“栗子”。
栗子1号:
假设我是一家KTV的老板,我同时拥有5家KTV,我肯定得时刻监视
- Spring之使用事务缘由(2-注解实现)
ihuning
spring
Spring事务注解实现
1. 依赖包:
1.1 spring包:
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.
- iOS App Launch Option
啸笑天
option
iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。
launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 。
1、若用户直接
- jdk与jre的区别(_)
macroli
javajvmjdk
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同你
- Updates were rejected because the tip of your current branch is behind
qiaolevip
学习永无止境每天进步一点点众观千象git
$ git push joe prod-2295-1
To
[email protected]:joe.le/dr-frontend.git
! [rejected] prod-2295-1 -> prod-2295-1 (non-fast-forward)
error: failed to push some refs to '
[email protected]
- [一起学Hive]之十四-Hive的元数据表结构详解
superlxw1234
hivehive元数据结构
关键字:Hive元数据、Hive元数据表结构
之前在 “[一起学Hive]之一–Hive概述,Hive是什么”中介绍过,Hive自己维护了一套元数据,用户通过HQL查询时候,Hive首先需要结合元数据,将HQL翻译成MapReduce去执行。
本文介绍一下Hive元数据中重要的一些表结构及用途,以Hive0.13为例。
文章最后面,会以一个示例来全面了解一下,
- Spring 3.2.14,4.1.7,4.2.RC2发布
wiselyman
Spring 3
Spring 3.2.14、4.1.7及4.2.RC2于6月30日发布。
其中Spring 3.2.1是一个维护版本(维护周期到2016-12-31截止),后续会继续根据需求和bug发布维护版本。此时,Spring官方强烈建议升级Spring框架至4.1.7 或者将要发布的4.2 。
其中Spring 4.1.7主要包含这些更新内容。