oss是什么 – 对象存储OSS基本概念普及
开通oss – 阿里云对象存储oss开通以及入门教程
阿里云对象存储oss开通以及入门教程
1、创建项目
使用idea创建spring boot 项目
lombok可以加可不加
然后下一步, finish 就可以了
2、基本配置
在写配置文件的时候是没有提示的!!
pom.xml 中引入阿里oss依赖
官网最新版本依赖:https://help.aliyun.com/document_detail/32009.html
<!-- 阿里oss -->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
添加配置文件
1、yml爱好者
server:
port: 8001
spring:
application:
name: oss-upload
servlet:
multipart:
enabled: true
max-file-size: 10MB
max-request-size: 10MB
aliyun:
oss:
endpoint: http://oss-cn-beijing.aliyuncs.com
access-key-id: yourAccessKeyId
access-key-secret: yourAccessKeySecret
bucket-name: yourbucketname
2、 properties 配置
#访问OSS的域名
aliyun.endpoint=http://oss-cn-beijing.aliyuncs.com
aliyun.accessKeyId=yourAccessKeyId
aliyun.accessKeySecret=yourAccessKeySecret
#管理所存储Object的存储空间名称
aliyun.bucketName=yourBucketName
spring.servlet.multipart.max-request-size=10MB
spring.servlet.multipart.max-file-size=10MB
endpoint (地域节点) 复制地址:
accesskey-id 和 accesskeySecret
这两个都可以,选择第一个是使用我们自己创建的,第二个是使用我们开通的时候创建的子用户,两个都可以
bucket-name 位置
3、工具类编写
1、创建ConstantYml
之所以创建一个单独的文件来读取这个配置文件,是因为后续扩展操作,因为属性是private是私有的,取值的时候需要频繁的创建对象,所以就交给这个类,设置一个公开的变量
package com.john.utils;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
/**
* @description 当项目启动的时候,把这个类交给spring管理,然后调用init公开
* @author -还怕大雨吗
* @date 2021/8/17 16:10
* @version 1.0
*/
@Component
public class ConstantYml implements InitializingBean {
/**从配置文件读取*/
@Value("${aliyun.oss.endpoint}")
private String endpoint;
@Value("${aliyun.oss.access-key-id}")
private String keyId;
@Value("${aliyun.oss.access-key-secret}")
private String keySecret;
@Value("${aliyun.oss.bucket-name}")
private String bucketName;
/** 定义公开的变量 */
public static String ENDPOINT;
public static String ACCESSKEYID;
public static String ACCESSKEYSECRET;
public static String BUCKETNAME;
/** 加在完成之后会执行这个方法 */
@Override
public void afterPropertiesSet() throws Exception {
ENDPOINT = endpoint;
ACCESSKEYID