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); } }