文章目录
-
用什么注解可以快速获取日志对象?
-
文件上传前端表单必须具备哪三个要素?
-
文件上传功能开发时,后台用什么类型的参数来接收文件?
-
请说说你的图片存储方案是怎样的?
-
请说说你的员工修改是怎么实现的?
-
@Value,@ConfigurationProperties 两个注解怎么用的
-
配置文件有几种形式,常用的那种
1.用什么注解可以快速获取日志对象?
@sl4j
log.info
log.errio
2.文件上传前端表单必须具备哪三个要素?
文件上传的三要素包括:
-
文件:指正在上传的实际数据或信息。它可以是任何类型的文件,如文档、图片、视频或音频文件。
-
源:源是指文件上传的位置或设备。它可以是本地计算机、移动设备、云存储服务或任何其他允许文件传输的平台。
-
目的地:目的地是指文件上传到的位置。它可以是服务器、特定的文件夹或目录、云存储服务或任何其他指定的位置,用于存储或访问文件
3.文件上传功能开发时,后台用什么类型的参数来接收文件?
在文件上传功能开发中,后台通常使用以下类型的参数来接收文件:
-
单个文件参数:后台可以使用单个文件参数来接收单个文件。这种参数类型通常是一个文件对象,可以通过请求体或表单数据发送给后台。
-
多个文件参数:如果需要同时上传多个文件,后台可以使用多个文件参数来接收这些文件。这些参数类型通常是文件对象的数组或列表。
-
文件流参数:在某些情况下,文件可能会以流的形式进行上传。后台可以使用文件流参数来接收这种类型的文件。文件流参数通常是一个流对象,可以从请求体中读取文件数据。
4.请说说你的图片存储方案是怎样的?
如果直接存储在服务器的磁盘目录中,存在以下缺点:
- 不安全:磁盘如果损坏,所有的文件就会丢失。
- 容量有限:如果存储大量的图片,磁盘空间有限(磁盘不可能无限制扩容)。
- 无法直接访问
为了解决上述问题呢,一般有两种解决方案:
自己搭建文件存储系统,如:fastDFS
- 自己搭建对象存储服务,如:MinIO
- 使用现成的云服务,如:阿里云,腾讯云,华为云
导入阿里云依赖
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.15.0</version>
</dependency>
5.请说说你的员工修改是怎么实现的?
在进行修改员工信息的时候,我们首先先要根据员工的ID查询员工的信息用于页面回显展示,然后用户修改员工数据之后,点击保存按钮,就可以将修改的数据提交到服务端,保存到数据库。 所以呢,分为两部操作:
查询回显
- 根据ID查询员工信息
- 保存修改
EmpController
1.接收路径参数id
2.调用service方法查询数据
3.响应
EmpService
调用mapper接口查询数据
EmpMapper
select * from emp where id = ?
保存修改
EmpController
1.接收请求参数并封装
2.调用service方法执行修改操作
3.响应
EmpService
补充基础数据
2.调用mapper接口修改数据
EmpMapper
update emp setusername=?,name=?gender=? .... where id= 2;
6.@Value,@ConfigurationProperties 两个注解怎么用的
关于阿里云的相关配置信息,我们是直接写死在java代码中了,这样做,功能虽然实现了,但是是不便于维护和管理的。 为了解决这个问题呢,我们可以将其配置在properties的配置文件中。如下:
#自定义的阿里云OSS配置信息
aliyun.oss.endpoint=替换为自己的
aliyun.oss.accessKeyId=替换为自己的
aliyun.oss.accessKeySecret=替换为自己的
aliyun.oss.bucketName=替换为自己的
配置在了配置文件之后,如果我们想在java代码中使用。 我们可以直接通过@Value注解,就可以加载并读取配置文件中的配置项,具体形式为:@Value("${key}")
@Component
public class AliOSSUtils {
// private String endpoint = "替换为自己的";
// private String accessKeyId = "替换为自己的";
// private String accessKeySecret = "替换为自己的";
// private String bucketName = "替换为自己的";
@Value("${aliyun.oss.endpoint}")
private String endpoint;
@Value("${aliyun.oss.accessKeyId}")
private String accessKeyId;
@Value("${aliyun.oss.accessKeySecret}")
private String accessKeySecret;
@Value("${aliyun.oss.bucketName}")
private String bucketName;
//其他代码省略
}
7.配置文件有几种形式,常用的那种
yml,
yaml,
xml,
properties