谷粒学院day06笔记

1. 阿里云OSS

1.1 OSS介绍

对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。用户可以通过简单的REST接口,在任何时间、任何地点、任何互联网设备上进行上传和下载数据,也可以使用WEB页面对数据进行管理。OSS适合存放任意文件类型,适合各种网站、开发企业及开发者使用。

内容存储服务(Content Delivery Network,简称CDN),是一种基于互联网的分布式存储服务,它通过将用户的内容发布到全球范围内的边缘节点,提供了一种高可靠、高可用、低延迟的内容分发服务。

1.2 oss管理控制台使用

1.2.1 创建bucket 类似于文件夹,包

区域:相同区域内的产品内网可以互通

读写权限:私有读写,公共读私有写,公共读写

一般公共读就足够使用了

1.2.2 上传文件

2. java代码操作oss

公司一般不会给控制台权限

2.1 获取oss的key

控制台获取

2.2 根据阿里云官方文档搭建项目环境并使用

学习路径 -> 开发者资源

2.3 具体操作

2.3.1 创建子模块

2.3.1 pom.xml引入依赖

复制代码
xml
  • 1
  • 2
  • 3
  • 4
  • 5
oss的依赖 日期工具类

2.3.2 配置文件

复制代码
properties
  • 1
  • 2
  • 3
  • 4
aliyun.oss.file.endpoint=oss-cn-beijing.aliyuncs.com aliyun.oss.file.keyid=LTAI4G7Q1j8j8j8j8j8j8j8j aliyun.oss.file.keysecret= aliyun.oss.file.bucketname=online-education

2.3.3 启动报错解决

  1. 解决方案:

    • 添加上数据库配置

    • 启动类添加属性,默认不去加载数据库配置

      复制代码
      java
      • 1
      @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
  2. 注解:

    @Component:注入spring容器,可以被扫描到

    @Value:读取配置文件 (属性注入注解)

    @ConfigurationProperties:读取配置文件 (属性注入注解)

  3. 创建常量工具类

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

    创建常量工具类,读取配置文件内容,将配置文件内容赋值给工具类的属性

    复制代码
    java
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    @Component public class xxxUtils implements InitializingBean { @Value("${aliyun.oss.file.endpoint}") private String endpoint; @Value("${aliyun.oss.file.keyid}") private String keyid; @Value("${aliyun.oss.file.keysecret}") private String keysecret; @Value("${aliyun.oss.file.bucketname}") private String bucketname; // 定义OSSClient实例 private OSS ossClient; @Override public void afterPropertiesSet() throws Exception { // 创建OSSClient实例 ossClient = new OSSClientBuilder().build(endpoint, keyid, keysecret); } // 关闭OSSClient public void destory() { ossClient.shutdown(); } // 上传文件 public String upload(InputStream inputStream, String module, String fileName) { // 上传文件流 ossClient.putObject(bucketname, module + "/" + fileName, inputStream); // 关闭OSSClient ossClient.shutdown(); // 返回上传之后文件的路径 return "https://" + bucketname + "." + endpoint + "/" + module + "/" + fileName; } }
  4. 存在问题

    • 多次上传同名文件会造成最后一次上传会把之前的文件覆盖,所以一般会在文件名后面加上时间戳或者UUID。
    • 文件分类,不同的文件放在不同的文件夹下,方便管理。可以按用户,日期,文件类型等分类。
    • 代码操作。用joda工具类

3. nginx回顾

3.1 nginx介绍

  • nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

  • 常见功能:负载均衡反向代理(请求转发),静态资源服务器,动静分离,缓存,防火墙,安全防护,压缩,日志,SSL加密,视频点播,直播等。

  • 什么是请求转发(根据路径匹配不同的服务器)

  • 负载均衡 算法 (轮询,权重,ip_hash)

  • 动静分离(java代码和普通静态(图片等)资源分开进行部署)

3.2 nginx安装

  • 下载地址:http://nginx.org/en/download.html

  • cmd启动nginx, 关闭窗口无法停止,通过命令进行关闭

    复制代码
    dos
    • 1
    nginx.exe -s stop
  • 配置

    复制代码
    nginx
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    # 配置文件路径 nginx/conf/nginx.conf # http块作用 在 nginx.conf 文件中,http 块是定义 HTTP 服务器的配置块。在 http 块内部,可以定义多个 server 块,每个 server 块定义了一个虚拟主机。 在一个 server 块内部,可以定义该虚拟主机的监听地址和端口、服务器名称、SSL/TLS 配置、反向代理规则等等。每个 server 块可以使用不同的监听地址和端口,因此可以配置多个虚拟主机。 不同的 server 块可以根据不同的域名或者不同的 IP 地址进行匹配,从而为不同的客户端提供不同的服务。例如,可以配置一个 server 块用于处理 example.com 域名的请求,另一个 server 块用于处理 api.example.com 域名的请求,以此实现虚拟主机的功能。 总之,http.server 就是 nginx 中定义 HTTP 服务器的配置块,其中每个 server 块代表一个虚拟主机,用于处理客户端的请求。 # nginx配置示例

4. 上传头像前端开发

4.1 上传头像组件

4.2 修复重新上传的bug

5. 多级分类表设计

parent_id 实现

6. 实现easyexcel导入excel数据到数据库

6.1 easyexcel介绍

6.2 easyexcel写操作

文件路径 文件名 sheet 列名 行记录

6.3 easyexcel读操作

  1. 监听器(每次读取都是执行监听器中的方法)

    一行一行读取,每读取一行就会执行一次监听器中的方法

  2. 实现监听器(读取表头,分行读取excel内容,读取完成之后)

6.4 实现用户上传excel文件,导入数据库

二级分类需要用到一级分类的id,所以需要先导入一级分类,再导入二级分类;

本文作者:livebetter

本文链接:https://www.cnblogs.com/livebetter/p/17154988.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   积极向上的徐先生  阅读(46)  评论(0编辑  收藏  举报
评论
收藏
关注
推荐
深色
回顶
展开
点击右上角即可分享
微信分享提示