==================================================================
起因:在遇到上传下载图片以及其他资源问题的时候,我选择的是将图片上传到我自己的云服务器上,按时间图片类型分好类,这样可以对图片进行正常的管理,但是代价来了,服务器内存太小(我的是学生机),如果这么操作下去服务器会”不堪其重“,故我选择了一种替代方案<使用阿里云对象存储OSS服务>来对这些资源进行管理
阿里云OSS是一种很好的针对存储的解决方案,在实际开发中也有许多公司使用该服务
===============================================================================
1.1申请阿里云账号
1.2实名认证
1.3开通“对象存储OSS”服务
前两步比较简单,是注册与实名认证,我们直接略过进行第三步开通服务
如果我们存储量比较小,在1GB之下是不收费的,不过最好还是往阿里云存个一两块钱以防不测
我们进入管理控制台,创建Bucket
地域默认选择即可,地域的选择会影响下面的地域节点Endpoint
存储类型
-
标准存储:文件频繁被访问
-
低频访问存储:文件访问频率低
-
归档存储:文件基本不访问,只做存储
这里根据存储的文件风格进行选择
启用同城冗余存储代表在此区域的文件将会备份,开通同城冗余存储会收费
读写权限
-
私有:只有自己能访问文件
-
公共读:任何人都能访问你的文件
-
公共读写:其他人不仅能访问,还可以对你的文件进行操作
选择公共读即可
服务器加密方式和实时日志查询选择<无>和<不开通>即可
我们可以在Bucket列表中刚查看已创建的Bucket信息
我们使用控制台上传一张图片试一下
上传成功oss会帮我们生成访问地址,可以对图片进行下载
==============================================================================
=================================================================================
只有拿到了阿里云颁发id和秘钥我们才可以继续操作
进行验证即可获得,获得之后最好保存一下,如果遗忘的话再寻找秘钥又会需要验证很麻烦
=======================================================================
项目基本结构
新建springboot工程引入依赖
com.aliyun.oss
aliyun-sdk-oss
3.10.2
joda-time
joda-time
2.10.1
application.properties
#服务端口
server.port=8002
#服务名
spring.application.name=service-oss
#环境设置:dev、test、prod
spring.profiles.active=dev
#阿里云 OSS
#不同的服务器,地址不同
aliyun.oss.file.endpoint=oss-cn-beijing.aliyuncs.com
aliyun.oss.file.keyid=your accessKeyId
aliyun.oss.file.keysecret=your accessKeySecret
#bucket
aliyun.oss.file.bucketname=wenwenaier-file
工具类ConstantPropertiesUtils:读取配置文件中的内容
package com.wql.oss.utils;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
/**
-
Description
-
User:
-
Date:
-
Time:
*/
@Component
public class ConstantPropertiesUtils implements InitializingBean {
//读取配置文件中的内容
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
最后,强调几点:
- 1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的; 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;
- 2. 和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
- 3. 注意自己开源的Github项目,面试官可能会挖你的Github项目提问;
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目。
面试答案
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算