Spring Boot 文件上传与下载
文件的上传及下载功能是开发人员在日常应用及编程开发中经常会遇到的。正好最近开发需要用到此功能,虽然本人是 Android 开发人员,但还是业余客串了一下后台开发。 在本文中,您将学习如何使用 Spring Boot 实现 Web 服务中的文件上传和下载功能。首先会构建一个 REST APIs 实现上传及下载的功能,然后使用 Postman 工具来测试这些接口,最后创建一个 Web 界面使用 JavaScript 调用接口演示完整的功能。最终界面及功能如下: 项目环境- Spring Boot : 2.1.3.RELEASE - Gredle : 5.2.1 - Java : 1.8 - Intellij IDEA : 2018.3.3 项目创建开发环境为 Intellij IDEA,项目创建很简单,按照下面的步骤创建即可: File -> New -> Project… 选择 Spring Initializr,点击 Next 填写 Group (项目域名) 和 Artifact (项目别名) 构建类型可以选择 Maven 或 Gradle,...
Java equals 和 == 完全解析
今天朋友突然问到一个问题: 两个对象使用 x.equals(y) 判断结果为 true 时,两个对象的 hashCode 可以不同吗? 在Java编程中,判断两个对象是否相等常常使用 equals() 或是 == ,但是其中的区别和原理可能很多人并不完全清楚。今天就借着上面这个问题来看看 equals() 和 == 的区别和原理。 1. 数据类型与==的含义Java中的数据类型分为基本数据类型和引用数据类型: 基本类型:编程语言中内置的最小粒度的数据类型。它包括四大类八种类型 4 种整数类型:byte、short、int、long 2 种浮点数类型:float、double 1 种字符类型:char 1 种布尔类型:boolean 引用类型:引用也叫句柄,引用类型,是编程语言中定义的在句柄中存放着实际内容所在地址的地址值的一种数据形式 类 接口 数组 对于基本类型来说, == 比较的是它们的值对于引用类型来说, == 比较的是它们在内存中存放的地址(堆内存地址) 例: 1234567891011121314public void...
Spring Boot系列之Log4j2的配置使用
后台程序开发及上线时,一般都会用到Log信息打印及Log日志记录,开发时通过Log信息打印可以快速的定位问题所在,帮助我们快捷开发。程序上线后如遇到Bug或错误,此时则需要日志记录来查找发现问题所在。 Spring Boot 可以集成很多不同的日志系统,其中最常用的Apache Log4j,而Log4j 2是Log4j的升级版本,Log4j 2相对于Log4j 1.x 有了很多显著的改善。所以这篇博客就直接来说说Spring Boot如何集成并配置使用Log4j2。 1. 导入Log4j2的包如果你使用Gradle,则在build.gradle文件中添加以下依赖。示例代码中使用的是Gradle方式。 1234567dependencies { // log4j2 implementation "org.apache.logging.log4j:log4j-api:2.8" implementation "org.apache.logging.log4j:log4j-core:2.8" //...