前后端分离项目知识汇总(阿里云OSS,EasyExcel)

337 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情

整合阿里云OSS

我们想实现在添加讲师信息的时候加上头像上传功能,怎么办呢?

用阿里云的OSS对象存储即可

环境部署

首先我们打开阿里云注册个OSS对象存储

image-20220423140743003

Java操作OSS

详细操作可查官方文档,下面只写关键代码

[SDK示例 (aliyun.com)](help.aliyun.com/document_de…)

1、定义工具类读取配置文件

通过继承InitializingBean

当项目已启动,spring加载之后,执行接口一个方法。就是afterPropertiesSet

读取配置文件内容后,在通过执行接口里的一个方法,从而让外面能使用

image-20220423141537765

2、编写上传文件接口

MultipartFile类是org.springframework.web.multipart包下面的一个类,如果想使用MultipartFile类来进行文件操作,那么一定要引入Spring框架。MultipartFile主要是用表单的形式进行文件上传,在接收到文件时,可以获取文件的相关属性,比如文件名、文件大小、文件类型等等。

我们对着官网实例进行修改

image-20220413151840052

image-20220423143711082

image-20220423143946687

3、controller调用接口

image-20220423145150551

4、前端部分

引入上传图片框也在save页面,所以

image-20220423151338689

image-20220423151602576

5、测试

在这里插入图片描述

上传成功

在这里插入图片描述

image-20220416173356445

nginx反向代理

Nginx快速入门_小蜗牛耶的博客-CSDN博客_nginx 快速入门

首先知道nginx的配置文件是nginx.config

其次是nginx的配置文件是可以看成一个http请求处理的

然后是nginx的server服务。可以理解为每个服务监听不同的端口,分发不同的连接服务。如果是自己的可以直接删掉初始server ,直接新建自己的server。

image-20220507103254309

配置文件如下:

worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
	client_max_body_size 1024m;

    sendfile        on;
    keepalive_timeout  65;
	
    server {
        listen       81;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    
	server {
        listen       9001;    #监听端口号
        server_name  localhost;  #主机名称
        location ~ /eduService/ {  #匹配路径        
            proxy_pass http://localhost:8001;
        }
		location ~ /eduService1/ {  #匹配路径        
            proxy_pass http://localhost:6001;
        }
        location ~ /eduUser/ {
            proxy_pass http://localhost:8001;
        }
        location ~ /eduOss/ {
            proxy_pass http://localhost:8002;
        }
        location ~ /eduVod/ {
            proxy_pass http://localhost:8003;
        }
        location ~ /eduCms/ {
            proxy_pass http://localhost:8004;
        }
        location ~ /ucenterService/ {
            proxy_pass http://localhost:8006;
        }
        location ~ /eduMsm/ {
            proxy_pass http://localhost:8005;
        }
        location ~ /orderService/ {
            proxy_pass http://localhost:8007;
        }
        location ~ /staService/ {
            proxy_pass http://localhost:8008;
        }
        location ~ /admin/ {
            proxy_pass http://localhost:8009;
        }
    }

}

image-20220422104023424

启动nginx

image-20220422104029132

修改项目访问路径为nginx的ip

image-20220422104300215

image-20220422104207226

EasyExcel

简介

alibaba/easyexcel: 快速、简洁、解决大文件内存溢出的java处理Excel工具 (github.com)

1.Java领域解析、生成Excel的一款工具

写入测试

image-20220423161146730

引入依赖

com.alibaba easyexcel 2.1.1

image-20220417104720208

读取测试

image-20220423160946627

1、创建实体类和excel对应

详细的注释都写到代码里了,这里为了整洁性,不在粘贴代码

image-20220423160823600

2、创建回调监听器

回调监听器起着很重要的作用,就是由它来进行读取excel文档中的文件的 image-20220423161031862

3、直接读

使用easyexcel里的read方法进行读取 设置写入文件地址和excel文件名称

image-20220423161100532

测试如下: image-20220423161304098