SpringBoot整合对象存储Minio
JDK版本-171、引入依赖dependency groupIdio.minio/groupId artifactIdminio/artifactId version8.6.0/version /dependency2、由于Minio没有starter需要手动创建Bean对象放入Spring的IOC容器进行管理为了方便管理我在yaml中配置了Minio的相关配置endpoint、accessKey、secretKeyminio: endpoint: 服务端地址 accessKey: 账号 secretKey: 密码ConfigurationProperties(prefix minio) Component Data public class MinioInfo { private String endpoint; private String accessKey; private String secretKey; }/** * Minion的配置类 */ Configuration public class MinIoConfig { Autowired private MinioInfo minioInfo; //单例没有线程安全问题 Bean public MinioClient minioClient() { return MinioClient.builder() .endpoint(minioInfo.getEndpoint()) .credentials(minioInfo.getAccessKey(), minioInfo.getSecretKey()) .build(); } }3、使用使用的时候注入MinioClient即可内置了多种方法只进行了几个简单测试SpringBootTest Slf4j public class DemoController { //我们在使用的时候直接注入MinioClient即可 Autowired private MinioClient minioClient; /** * 测试篮子是否存在 */ Test SneakyThrows void testBucketExists() { boolean demo minioClient.bucketExists(BucketExistsArgs.builder().bucket(test).build()); System.out.println(demo demo); } /** * 创建存储桶并设置公开访问策略 */ Test SneakyThrows void testMakeBucket() { String policy{\n \Version\: \2012-10-17\,\n \Statement\: [\n {\n \Effect\: \Allow\,\n \Principal\: \*\,\n \Action\: [\n \s3:GetObject\\n ],\n \Resource\: [\n \arn:aws:s3:::*/*\\n ]\n }\n ]\n }; minioClient.makeBucket(MakeBucketArgs.builder().bucket(test).build()); minioClient.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(test).config(policy).build()); } /** * 获取所有的存储桶 */ Test SneakyThrows void testListBuckets() { ListBucket buckets minioClient.listBuckets(); for (Bucket bucket : buckets) { System.out.println(bucket bucket.name()); } } //上传文件并给文件指定名称 Test SneakyThrows void testPutObject() { //将指定文件上传至Minion服务器上并指定文件名 // File file new File(D:\\images\\OIP-C.jpg); // minioClient.putObject(PutObjectArgs.builder() // .bucket(test) // .object(one.jpg) // .stream(new FileInputStream(file),file.length(), -1) // .build()); minioClient.uploadObject(UploadObjectArgs.builder() .bucket(test) .object(test.jpg) .filename(D:\\images\\OIP-C.jpg) .build()); } /** * 获取可访问的文件url */ Test SneakyThrows void testUrl() { String url minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder() .bucket(test) .object(test.jpg) .method(Method.GET) .build() ); System.out.println( url); } }

相关新闻

如何用postman进行web端自动化测试?

如何用postman进行web端自动化测试?

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 概括说一下,web接口自动化测试就是模拟人的操作来进行功能自动化,主要用来跑通业务流程。主要有两种请求方式:post和get&#x…

2026/7/7 16:48:48 阅读更多 →
为何越来越多的程序员纷纷转行网络安全?_软件工程师有必要转安全岗位吗

为何越来越多的程序员纷纷转行网络安全?_软件工程师有必要转安全岗位吗

为何越来越多的程序员纷纷转行网络安全? 其实黑客都是程序员,但是并不是所有的程序员都是黑客. 从企业和社会需求来看,现在真不缺程序猿 ,反而大量的缺安全工程师 ,同样8000块月薪,程序猿一大把&#xff0…

2026/5/17 8:01:11 阅读更多 →
2026年普通程序员转型大模型应用开发保姆级教程——从入门到精通,这一篇就够了!

2026年普通程序员转型大模型应用开发保姆级教程——从入门到精通,这一篇就够了!

先说我,传统后端开发入职阿里,工作一年后转大模型应用层。两年Agent、RAG经验,拿到字节超30%涨幅Agent开发岗位offer。我来回顾一下是怎么一个路径过来的。第一阶段: 了解LLM能干啥,当API使用,Agent探索,这…

2026/7/6 22:49:02 阅读更多 →

最新新闻

从零开始掌握漏洞挖掘:白帽黑客的核心技能与实战指南

从零开始掌握漏洞挖掘:白帽黑客的核心技能与实战指南

1. 挖漏洞:从神秘黑产到阳光职业的蜕变“挖漏洞”这个词,听起来总带着一丝神秘和“黑客”色彩。在很多人的印象里,它可能意味着在法律的灰色地带游走,利用技术手段寻找系统弱点,甚至与非法牟利挂钩。但今天&#xff0c…

2026/7/7 16:47:52 阅读更多 →
Impacket内网渗透实战:从NTLM/Kerberos协议到横向移动与权限提升

Impacket内网渗透实战:从NTLM/Kerberos协议到横向移动与权限提升

1. 项目概述:为什么Impacket是内网渗透的“瑞士军刀”?如果你在网络安全,特别是内网渗透测试领域摸爬滚打过一段时间,那么Impacket这个名字对你来说一定如雷贯耳。它远不止是一个简单的工具集,更像是一个由Python编写的…

2026/7/7 16:47:52 阅读更多 →
ICM-42688-P与PIC18LF4550在运动控制与工业传感中的应用

ICM-42688-P与PIC18LF4550在运动控制与工业传感中的应用

1. ICM-42688-P与PIC18LF4550的黄金组合解析在运动控制和工业传感领域,传感器与微控制器的选配往往决定了整个系统的性能天花板。ICM-42688-P作为TDK InvenSense最新的6轴MEMS运动传感器,与Microchip经典的PIC18LF4550微控制器形成的组合,正在…

2026/7/7 16:47:52 阅读更多 →
工业级EEPROM与MCU的可靠数据存储方案

工业级EEPROM与MCU的可靠数据存储方案

1. 项目背景与核心需求在工业控制和嵌入式系统领域,数据存储的可靠性直接关系到整个系统的稳定性。M24256E这颗EEPROM芯片和TM4C1299NCZAD微控制器的组合,恰好能满足严苛环境下的数据持久化需求。我最近在一个风力发电监控项目中采用了这套方案&#xff…

2026/7/7 16:43:50 阅读更多 →
开源鸿蒙 PC 高校师资培训暨鸿蒙 PC 俱乐部启动|全国高校正式招募

开源鸿蒙 PC 高校师资培训暨鸿蒙 PC 俱乐部启动|全国高校正式招募

2024 年华为开源鸿蒙 PC 版本正式发布,国产独立桌面操作系统迎来全新格局!目前全国多数高校尚未开设鸿蒙 PC 相关课程,专业师资极度稀缺,行业缺口巨大。 全国高校开源鸿蒙 PC 师资公益培训重磅启动!本次培训面向全国高…

2026/7/7 16:43:50 阅读更多 →
Kruskal-Wallis 检验 4 大常见误区:从假设条件到事后检验的完整避坑指南

Kruskal-Wallis 检验 4 大常见误区:从假设条件到事后检验的完整避坑指南

Kruskal-Wallis 检验实战避坑指南:从中位数误解到事后检验的深度解析当你面对三组或更多非正态分布数据时,Kruskal-Wallis检验往往是首选的统计工具。但许多分析师在使用过程中,常常陷入一些看似简单却影响深远的误区。本文将带你深入剖析这些…

2026/7/7 16:43:50 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻