- Springboot-RPCServiceClient调用WebService客户端发送短信
ZHOU_VIP
MACjava前端服务器
要在SpringBoot应用程序中使用RPCServiceClient调用WebService客户端发送短信,可以按照以下步骤进行:步骤1:添加依赖首先,在pom.xml文件中添加Axis2的相关依赖。pom.xmlorg.apache.axis2axis2-kernel1.7.9org.apache.axis2axis2-transport-http1.7.9org.apache.axis2ax
- SpringBoot -在Axis2中,RPCServiceClient调用WebService
ZHOU_VIP
MACjava开发语言
在Axis2中,RPCServiceClient是一种用于调用WebService的客户端实现。下面是如何将它们结合起来使用的一个示例:步骤1:添加依赖首先,在pom.xml文件中添加Axis2的相关依赖。org.apache.axis2axis2-kernel1.7.9org.apache.axis2axis2-transport-http1.7.9org.apache.axis2axis2-t
- 使用services.xml发布webservice
Yerasel
Webservicewebserviceencodingclassserviceuser服务器
参考了http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/21/252255.htmlEclipseJuno中Axis2插件总是崩溃,于是转向了命令行方式发布webservice。具体步骤可以参考上述连接,但是具体配置讲解不是很清晰。附图如下:服务器段工程目录为:Biz和USer是要发布到服务器的两个class。1.需要
- Axis2: 使用services.xml文件发布WebService(2)
牧海归来
Axis2
第二种:使用services.xml文件发布WebService为什么使用services.xml文件?(1)0配置方式发布webservice不方便,只能以class方式发布,在很多应用中不仅仅只有一个webservice类,当webservice类很多的时候,发布大量的class文件很不方便。在实际应用中,一把的方法是将大量的class文件以及其他相关的文件打包成jar文件,并发布。但0配置方
- 使用services.xml文件发布WebService
职业驱魔师
java
使用services.xml文件发WebService用Axis2实现WebService,虽然可以将POJO类放在axis2\WEB-INF\pojo目录中直接发布成WebService,这样做不需要进行任何配置,但这些POJO类不能在任何包中。这似乎有些不方便,为此,Axis2也允许将带包的POJO类发布成WebService。先实现一个POJO类,代码如下:packageservice;pu
- WebService的services.xml问题
WuWuII
webserviceaxis2
WebService有多种实现方式,这里使用的是axis2问题:在本地开发,访问本地的http://localhost:8080/services/ims?wsdl,正常访问但是打成jar包,不管是linux还是window启动,都访问不到,报错信息如下2023-12-2809:56:20.749[http-nio-8092-exec-1]WARNo.a.axiom.util.stax.diale
- Tomcat10.X部署老版本axis2 webservice项目不生效
风行無痕
Javaaxis2Tomcatjava-eejavaspring
目录一、使用场景二、问题描述三、原因排查四、解决方案一、使用场景原来项目是OpenJDK8+tomcat9构建,现在需要升级到OpenJDK17+tomcat10的组合。原来的webservice项目打包成aar格式,通过axis2部署在tomcat上。二、问题描述在配置好jdk和tomcat环境后,先将axis2最新的war包文件丢到tomcat目录webapp文件,将对应的aar包放到tomc
- 靶机-axis2_and_tomcat_manager
随风随梦自在逍遥
靶机安全网络靶机
axis2_and_tomcat_managerPentesterLab:Axis2WebserviceandTomca…arp-scan扫描靶机IP扫描端口masscan192.168.253.138--ports0-65535--rate=10000nmap扫描目录扫描dirbhttp://192.168.253.138Axis2是ApacheFoundation的一个项目,它允许开发人员用C
- Apache Axis 1.x 根据wsdl文件生成客户端代码 调用webservice接口
South_BJ
Apacheapache
ApacheAxis1.x是一个用于构建基于SOAP(SimpleObjectAccessProtocol)的Web服务的开源框架。它支持JAX-RPC(JavaAPIforXML-BasedRPC)规范,用于在分布式环境中进行远程过程调用(RPC)。Axis1.x是一个较旧版本的ApacheAxis,它已经被ApacheAxis2所取代。一、如何根据wsdl获取java代码本文不讨论自己写htt
- Webservice axis2打印请求、响应报文方法
阿杜_ardo
java心得webserviceaxis2打印报文
Webserviceaxis2打印请求、响应报文方法包:axis2-kernel-1.7.4.jar包路径:org.apache.axis2.description类:OutInAxisOperation.java1=======================请求报文=======================在send方法中SOAPEnvelopereqenvelope=msgContext
- webservice学习笔记【一】——接收远程调用webservice返回的数组
IT东
WEBSERVICEWEBwebservicestringvectorexceptionserviceobject
最近突然想学习webservice,作为一个初学者没想着一开始开发webservice,想先练练手,使用axis21.4调用webservice,虽然只是调用webservice客户端,但是遇到的麻烦还真不少。其中折磨我最久的问题就是如何处理远程调用返回的数组了,我照着网上的讲解调用一些网上公开的webservice,返回类型为String或者为schema.xml时都没有问题,但是返回的结果为数
- Axis2调用超时Read timed out的解决办法一则
零点145
Axis2不是个省油的灯,用起来一直不爽,现在项目快结束了,用着玩意想吐!我是用服务端+客户端存根来使用Axis2的,在存根调用了服务上一个比较耗时的操作时,超时挂了。首先我就开始在应用服务器JBOSS上到处修改超时时间为600*1000毫秒(10分钟)。可测试时候还继续超时。查看网上,有很多人也遇到我一样的问题,都是增大超时时间,可是在jboss上设置没用啊!最终通过设置存根每个方法的超时时间来
- 常见的端口服务及漏洞(详细)
Light Chaser1
网络安全web安全安全
端口对应的服务存在的相关漏洞21/69ftp/tftp:文件传输协议爆破,嗅探溢出,后门,匿名访问22ssh爆破,openssh漏洞23telnet:远程连接爆破嗅探25smtp:邮件服务弱口令,未授权访问,邮件伪造53dns:域名系统dns区域传输,劫持,缓存投毒,隧道技术刺透防火墙80/8080apache/tomcat/nginx/axis2爆破弱口令,http慢速攻击,解析漏洞80/443
- QCustomPlot添加标题头
东方.既白
QTqt
1效果图2代码is2Label=QString("addtitlelayoutelement");//addtitlelayoutelement:ui->customplot->plotLayout()->insertRow(0);ui->customplot->plotLayout()->addElement(0,0,newQCPTextElement(ui->customplot,xAxis2
- http请求webservice接口
才_先生
javahttpjava
一、webservice是什么:webservice接口实际上就是http协议+soap协议,通过http请求把soap报文发送到对方服务器,然后对方服务器也是通过http请求把soap报文返回。二、技术选型:webservice接口开发有Axis2,ApcheCXF和http等方式。1.Axis2技术老旧,使用不便,不推荐。2.在有大量的webservice接口的情况下,不建议使用http请求方
- java webservice接口实现
养鹰的兔子
javajavaspring
首先在POM文件中添加相关的依赖org.apache.axis2org.apache.axis2.osgi1.7.9org.apache.ws.commons.axiomaxiom-api1.2.20org.apache.ws.commons.axiomaxiom-impl1.2.20在相关的业务接口文件下增加相关配置文件接口代码packageavicit.mms.si.simaterialcon
- IDEA报错:前言中不允许有内容
正东在摸鱼
intellij-ideajavaide
idea启动项目提示前言中不允许有内容.idea\libraries\Maven__axis2_axis2_1_0.xml:ParseErrorat[row,col]:[1,1]Message:前言中不允许有内容。解决方法:首先修改设置:IDEA–>File–>Settings–>FileEncodings–>withNoBOM选中报错文件右键移除Bom如果遇到java:程序包org.spring
- axis2弱密码漏洞复现
julien_qiao
网络攻击msf前端安全web安全
介绍Axis2Web管理模块是一个下一代ApacheAxis。Axis2虽然由Axis1.x处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2基于新的体系结构进行了全新编写,而且没有采用Axis1.x的常用代码。支持开发Axis2的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关Web服务标准和协议(如WS-Security、WS
- 虚幻引擎5:增强输入的使用方法
ling…
UE5ue5
一、基本配置1.创建一个输入映射上下文(映射表)2.创建自己需要的操作映射或者轴映射3.创建完成之后进入这个映射,来设置类型,共有4个类型1.Digital:是旧版操作映射类型,一般是按下抬起来使用,像跳跃,之类的2.剩余三个都是轴映射类型,Axis1D:单向轴,一般是油门按键,摇杆之类的3.Axis2D:有x,y两个方向,2D轴,一般是移动之类的4.Axis3D:有x,y,z三个方向4.将设置的
- 基于JAX-WS和Tomcat的Web Service服务端/客户端
chenghuang2019
javaweb.xmlruntime
JDK中已经内置了Webservice发布,不过要用Tomcat等Web服务器发布WebService,还需要用第三方Webservice框架。Axis2和CXF是目前最流行的Webservice框架,这两个框架各有优点,不过都属于重量级框架。JAX-WSRI是JAXWebService参考实现。相对于Axis2和CXF,JAX-WSRI是一个轻量级的框架。虽然是个轻量级框架,JAX-WSRI也提
- grails框架配置webService
在路上的小海贼
近期在项目中使用到了grails的webservice发布,总结如下:一、axis2的配置1、安装axis2插件命令:install-pluginaxis22、服务类的使用新建一个service,然后在服务类中加入下面一句就ok了staticexpose=['axis2']3、测试一下输入地址:http://localhost:8080/gidms_sd/axis2-web如出现axis2的欢迎界
- axis2实现HTTPs双向认证的几种方式
suamt
经验记录
1、重写transportSender类并重定义axis2的配置文件。参考http://www.cnblogs.com/SoYoung/archive/2012/04/08/Custom_SSL_in_Axis2.html主要目的是需要实现一个SSLcontext(注:主要是实现自己的SSLProtocolSocketFactory,在getSSLContext方法里面使用下面方式构造一个SSLC
- python——matplotlib的用法详解
WDLOVELONGLONG
pythonmatplotlib开发语言
目录一、matplotlib简介1.1通过配置文件进行配置3.2通过rcParams[‘param_name’]配置3.3通过matplotlib.rc()函数配置二、matplotlib绘制简单图形2.1利用plt.subplots绘图2.2图(Figure)的结构2.2.1图Figure2.2.2轴域Axes2.2.3轴Axis2.2.4Artist2.2.5绘图函数的输入数据类型2.2.6编
- 【分享】mvn查询冲突的jar包
虹梦未来
jarjavaservlet
最近要把项目中用到的axis1.4升级到axis2(1.7.9),但是出现了javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;报错。从报错日志来看,是某个axis2组件,用到了servletContext2.3,和springboot内置的tomcat的该组件冲突了。笔者是windows环境,所以执行:mvnd
- 帆软二次开发之WebService
RyanGongLN
操作源码帆软取数操作示例注意:二次开发环境:FineReport10.0Axis2fastjson版本为1.2.58Jdk1.8其中:FineReport二维数组转化方法toFineReportData()将json转化为帆软的二维数组此json必须由List转化而来的必须遵守格式[{行1:对应值,行2:对应值},{行1:对应值,行2:对应值}]例如:[{"id":9593409,"tagvalu
- Web Service开发实践之开始XFire
小小哭包
开发技巧经验分享软件设计研讨付费专栏WebServiceXFire
一、Axis与XFire的比较XFire是与Axis2并列的新一代WebService平台。之所以并称为新一代,因为它:1、支持一系列WebService的新标准--JSR181、WSDL2.0、JAXB2、WS-Security等;2、使用Stax解释XML,性能有了质的提高。XFire采用Woodstox作Stax实现;3、容易上手,可以方便快速地从pojo发布服务;4、Spring的结合;5
- java通过axis2调用webservice接口
搬砖狗-小强
springbootwebserviceaxis2
安装axis2下载axis2-1.7.9,并在本地新增环境变量-下载地址:https://download.csdn.net/download/qq243348167/86745080新增环境变量变量名:AXIS2_HOME变量值:D:\ProgramFiles\axis2-1.7.9Path增加:%AXIS2_HOME%\bin解析webservice使用命令把webservice解析成代码ws
- Axis2-HTTP传输优化
乐傻驴
前言 今年开始从事医疗行业的开发工作,也是第一次接触到WebService,并重构某三甲医院互联网医院后台,其中就涉及到了大量的对第三方HIS调用的WebService接口、在客户端选择方面我选择了axis2、通过IDEA生成axis2客户端,并交给了spring管理、前期接口切入较少流量不大,没有发现错误,直到有陆陆续续切了10多个接口,这几个接口对院方HIS系统调用频繁,且HIS接口返回很不
- unity 两点间生成随机的贝塞尔曲线
weixin_30345577
游戏
效果如图:思路:主要问题在于生成随机控制点。1.以start->end为z轴建立坐标系,获得x_Axis,y_Axis,z_Axis2.以z轴方向随机长度,x轴y轴随机所在位置3.用贝塞尔曲线公式生成曲线publicclassTest:MonoBehaviour{publicTransformm_Start;publicTransformm_End;Vector3m_AxisX;Vector3m_
- 用AXIS2发布WebService的方法
小小哭包
开发技巧经验分享Webserviceaxis2
Axis2+tomcat6.0实现webService服务端发布与客户端的调用。Aixs2开发webService的方法有很多,在此只介绍一种比较简单的实现方法。第一步:首先要下载开发所需要的jar包下载:axis2-1.6.1-war.ziphttp://www.apache.org/dist//axis/axis2/java/core/1.6.1/下载完后解压至tomcat安装目录下的weba
- 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