千家信息网

SpringBoot 2.x怎么整合MinIo文件服务

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"SpringBoot 2.x怎么整合MinIo文件服务",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"SpringBoot 2.x怎么整合
千家信息网最后更新 2026年11月03日SpringBoot 2.x怎么整合MinIo文件服务

本篇内容主要讲解"SpringBoot 2.x怎么整合MinIo文件服务",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"SpringBoot 2.x怎么整合MinIo文件服务"吧!

MinIO 是高性能的对象存储,兼容 Amazon S3接口,充分考虑开发人员的需求和体验;支持分布式存储,具备高扩展性、高可用性;部署简单但功能丰富。官方的文档也很详细。它有多种不同的部署模式(单机部署,分布式部署)。

为什么说 MinIO 简单易用,原因就在于它的启动、运行和配置都很简单。可以通过 docker 方式进行安装运行,也可以下载二进制文件,然后使用脚本运行。

安装

推荐使用 docker 一键安装:

docker run -it -p 9000:9000 --name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=admin" \
-e "MINIO_SECRET_KEY=admin123456" \
-v /mnt/minio/data:/data \
-v /mnt/minio/config:/root/.minio \
minio/minio server /data

注意:

  • 密钥必须大于8位,否则会创建失败

  • 文件目录和配置文件一定要映射到主机,你懂得

整合Nginx:

server{
listen 80;
server_name minio.cloudbed.vip;
location /{
proxy_set_header Host $http_host;
proxy_pass http://localhost:9000;
}
location ~ /\.ht {
deny all;
}
}

这样,通过浏览器访问配置的地址,使用指定的 MINIO_ACCESS_KEY 及 MINIO_SECRET_KEY 登录即可。

简单看了一下,功能还算可以,支持创建Bucket,文件上传、删除、分享、下载,同时可以对Bucket设置读写权限。

整合

Minio支持接入JavaScript、Java、Python、Golang等多种语言,这里我们选择最熟悉的Java语言,使用最流行的框架 SpringBoot 2.x。

pom.xml引入:


io.minio
minio
7.0.2

application.properties引入:

# MinIo文件服务器
min.io.endpoint = http://minio.cloudbed.vip
min.io.accessKey = admin
min.io.secretKey = admin123456

MinIoProperties.java 配置实体:

/**
* 实体类
* 爪哇笔记:https://blog.52itstyle.vip
*/
@Data
@ConfigurationProperties(prefix = "min.io")
public class MinIoProperties {

private String endpoint;
private String accessKey;
private String secretKey;
}

撸一个工具类:

/**
* 工具类
* 爪哇笔记:https://blog.52itstyle.vip
*/
@Component
@Configuration
@EnableConfigurationProperties({MinIoProperties.class})
public class MinIoUtils {

private MinIoProperties minIo;

public MinIoUtils(MinIoProperties minIo) {
this.minIo = minIo;
}

private MinioClient instance;

@PostConstruct
public void init() {
try {
instance = new MinioClient(minIo.getEndpoint(),minIo.getAccessKey(),minIo.getSecretKey());
} catch (InvalidPortException e) {
e.printStackTrace();
} catch (InvalidEndpointException e) {
e.printStackTrace();
}
}

/**
* 判断 bucket是否存在
* @param bucketName
* @return
*/
public boolean bucketExists(String bucketName){
try {
return instance.bucketExists(bucketName);
} catch (Exception e) {
e.printStackTrace();
}
return false;
}

/**
* 创建 bucket
* @param bucketName
*/
public void makeBucket(String bucketName){
try {
boolean isExist = instance.bucketExists(bucketName);
if(!isExist) {
instance.makeBucket(bucketName);
}
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 文件上传
* @param bucketName
* @param objectName
* @param filename
*/
public void putObject(String bucketName, String objectName, String filename){
try {
instance.putObject(bucketName,objectName,filename,null);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 文件上传
* @param bucketName
* @param objectName
* @param stream
*/
public void putObject(String bucketName, String objectName, InputStream stream){
try {
instance.putObject(bucketName,objectName,stream,null);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 删除文件
* @param bucketName
* @param objectName
*/
public void removeObject(String bucketName, String objectName){
try {
instance.removeObject(bucketName,objectName);
} catch (Exception e) {
e.printStackTrace();
}
}
//省略各种CRUD
}

目前SDK不支持文件夹的创建,如果想创建文件夹,只能通过文件的方式上传并创建。

minIoUtils.putObject("itstyle","妹子图/爪哇妹.jpg","C:\\爪哇妹.jpg");

一个实例只能有一个账号,如果想使用多个账号,需要创建多个实例。此外 minio还支持单主机,多块磁盘以及分布式部署,不过对于大部分单体应用来说,单体已经够用了。

到此,相信大家对"SpringBoot 2.x怎么整合MinIo文件服务"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

文件 整合 支持 服务 爪哇 配置 分布式 运行 主机 内容 功能 单体 多个 多种 实体 实例 工具 文件夹 方式 笔记 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技海报 互联网是第几次科技革命的成果 浩特互联网科技 互联网高科技股票 成都狮子座互联网科技 上海亿帐通互联网科技 互联网科技类展会 富国互联网科技创新基金 创业天下互联网科技有限公司 福州新华互联网科技学校 知乎 南平创想时代互联网科技有限公司 湖南一路畅行互联网科技 和信科技工业互联网 想开互联网科技公司怎么样 天津腾达互联网科技有限公司 互联网第三次科技革命特征 西安有哪些互联网高科技企业 艺电能源互联网科技有限公司招聘 美国五大互联网科技公司市值多少 互联网的黑科技实验室 哈尔滨大商圈互联网科技有限公司 猪兼强互联网科技 互联网科技视频 融势互联网科技 互联网金融 科技创新 中化能源互联网科技招聘 语蝶互联网科技有限公司 崇明区互联网教育科技售后服务 中和天地互联网科技有限公司 北京品多多互联网科技有限公司
0