SpringBoot后端开发常用工具详细介绍——Minio资源管理器

背景

在后端开发中,常常会涉及到各种静态资源的操作,比如上传图片、下载图片、上传下载PDF

那么我们在进行迁移开发和部署或者各种分布式开发时就会面对着这些资源的处理,以防止目录丢失或者其他异常。

Minio就是一个对象存储解决方案,一般都做min-io,顾名思义就是:最小输入输出

MinIO有能力在任何地方部署 - 公有云或私有云,裸金属基础设施,编排环境,以及边缘基础设施。所以可以更快速的解决上面提到的一系列问题。

操作

这里以我们常用的windows开发环境为例,开发环境熟练使用后,部署时也能很顺畅的使用了。

先简单说一下minio里的一个概念

bucket桶: 可以简单理解为文件夹,桶是 MinIO 中用于组织和管理对象的容器。每个桶都有一个唯一的名称,在同一个 MinIO 实例中,桶名称必须是唯一的。用户可以通过桶来对对象进行逻辑分组。

1.下载并启动minio

下载地址为:https://dl.minio.org.cn/server/minio/release/windows-amd64/minio.exe

启动命令:在minio.exe文件目录下打开cmd并执行minio.exe server minio,将会启动minio,并且打印访问的url和用户名、密码

访问minio的url地址,并输入上面的用户名密码:

2. 添加依赖与配置项

pom.xml

<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.3.6</version>
</dependency>

application.yml

spring:
  minio:
    access-key: minioadmin # 用户名
    secret-key: minioadmin #密码
    url: http://127.0.0.1:9000  #访问地址

3. 创建MinioConfig配置类信息

通过以下的配置,我们就可以创建一个适用于我们上面启动的minio的配置项,同时完成了MinioClient的注册

@Data
@Configuration
@ConfigurationProperties(prefix = "spring.minio")
public class MinioConfig {
   
   

    private String accessKey;
    private String secretKey;
    private String url;
	// 或者,主要目的是获取yml中的配置内容
    //@Value("${spring.minio.url}")
    //private String minioEndpoint;
    //@Value("${spring.minio.access-key}")
    //private String minioAccessKey;
    //@Value("${spring.minio.secret-key}")
    //private String minioSecretKey;
    @Bean
    public MinioClient minioClient(){
   
   
        return MinioClient.builder()
                .endpoint(url)
                .credentials(accessKey,secretKey)
                .build();
    }
}

4. 常用操作

我们可以进入自动注入的minioClient配置类查看常用操作
在这里插入图片描述

我们主要介绍常用的一些操作

4.0 创建单元测试

创建单元测试,并自动注入MinioClient

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class test {
   
   
    @Resource
    private MinioClient minioClient;
   	// 以桶为test,文件为D:/test/test.jpg为案例
    private final String bucketName = "test";
    File file = new File("D:/test/test.jpg");
}
4.1 创建桶
@Test
void createBucket() throws Exception {
   
   
    if (!minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build())) {
   
   
        minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
    }
}

可以看到已经成功创建了桶

4.2 删除桶
@Test
void deleteBucket() throws Exception {
   
   
    if (minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build())) {
   
   
        minioClient.removeBucket(RemoveBucketArgs.builder().bucket(bucketName).build());
    }
}

可以看到桶被删除了

4.3 检测桶是否存在
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值