2020
12-26
12-26
Spring 单元测试中如何进行 mock的实现
我们在使用Spring开发项目时,都会用到依赖注入。如果程序依赖了外部系统或者不可控组件,比如依赖数据库、网络通信、文件系统等,我们在编写单元测试时,并不需要实际对外部系统进行操作,这时就要将被测试代码与外部系统进行解耦,而这种解耦方法就叫作“mock”。所谓“mock”就是用一个“假”的服务代替真正的服务。那我们如何来mock服务进行单元测试呢?mock的方式主要有两种:手动mock和利用单元测试框架mock。其...
继续阅读 >
✍前言你好,我是YourBatman。北京时间2020-12-22深夜,SpringCloud2020.0.0版本正式发布。2020.0.0是第一个使用新版本方案的SpringCloud发行版本。关于版本号这里??录妇洌涸谡庵?埃?pringCloud的ReleaseTrain名称采用的是伦敦地铁站命名方式,如:Hoxton、Greenwich等。说明:2020.0.0版本又名Ilford(地铁站名),因为此项目3月后才按照新规更名,估计是为了团队内沟通方便吧,你也可以理解为它仅是一个内部代号而已,...
节省95%的内存占用,减少80%的启动耗时。GraalVM是一种高性能的虚拟机,它可以显著的提高程序的性能和运行效率,非常适合微服务。最近比较火的Java框架Quarkus默认支持GraalVM下图为Quarkus和传统框架(SpringBoot)等对比图,更快的启动速度、更小的内存消耗、更短的服务响应。SpringBoot2.4开始逐步提供对GraalVM的支持,旨在提升上文所述的启动、内存、响应的使用体验。安装GraalVM目前官方社区版本最新为20...
1.创建一个表单实体类,将数组封装到实体类中(Post提交)表单类代码:@DatapublicclassMyForm{privateint[]ids;}控制器代码:@Slf4j@RestController@RequestMapping("/info")publicclassInfoController{@PostMapping("/test")publicStringtest(@RequestBodyMyFormform){log.info(Arrays.toString(form.getIds()));return"success";}}前端代码:wx.request({url:'http://localhost:8085/info/tes...
如何快速构建一个SpringBoot的项目工具ideaJDK版本1.8SpringBoot版本1.5.9环境搭建实现:最基础前端可以访问到数据库内的内容开始1.IDEA内部新建一个项目,项目类型选择SpringInitializr,ProjectSDK选择适合你当前环境的版本,这里我选择的是1.8(SpringBoot2.0以上的版本,JDK选择请选择1.8即以上版本),构建服务选择默认就好,点击Next2.填写Group和Artifact(此处我使用的是默认,请根据实际情况填写),项目类型选择...
Spring下Filter过滤器配置全局异常处理Filter中出现的异常,spring的全局异常处理器是无法捕获的,所以filter拦截器中出现的异常会直接的抛向浏览器,在浏览器中显示500错误。而我当前的项目中,是在Filter中判断用户是否有携带Token访问,如果没有,则抛出异常,让其做登录操作。而且异常信息要处理成json格式返回给前端。这就很尴尬了。好了废话说多了,上解决方案:结局方案:Filter拦截器中直接抛出异常信息@Componentpubl...
由于公司是支付平台,所以很多项目都涉及到金额,业务方转递过来的金额是单位是元,而我们数据库保存的金额单位是分。一般金额的流向有以下几个方向:外部业务方请求我们服务,传递过来的金额单位是元,需要把元转换成分。比如:下单接口。内部系统之间的流转,不管是向下传递还是向上传递系统间的流程都是分,不需要扭转。比如:调用支付引擎(向下传递),支付引擎回调收单业务(向上传递)。向业务方返回数据,这个时候需要把...
在实际项目中,文件上传是很多项目必不可少的一个功能。那么在SpringBoot项目中又是如何来实现文件上传功能的呢?一般来说,上传的文件可以保存到项目根目录下的某一文件夹中,但这样做显然是不太合适的。因此我们选择将文件上传到专门的文件服务器中。很多云计算厂商都提供文件存储服务。这里我选择的是阿里云的对象存储(OSS)。一、配置OSS1.导入SDK首先,你需要注册阿里云的账号并开通对象存储服务。在准备工作完成之后,需...
目录:1.springboot实现阿里云视频点播上传视频(复制粘贴即可)2.springboot实现阿里云视频点播--删除视频准备工作:阿里云地址:https://www.aliyun.com/登录阿里云,确保账户有余额,有几毛钱就够了,开发学习基本不花钱。2.进入阿里云开通视频点播功能3.获取阿里云密钥代码编写:目录结构:application.properties#服务端口server.port=8003#服务名spring.application.name=vod#环境设置:dev、test、prodspring.profi...