package com.example.simpleminio; import io.minio.BucketExistsArgs; import io.minio.MakeBucketArgs; import io.minio.MinioClient; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.InitializingBean; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @ConfigurationProperties("spring.web.minio") @Slf4j @Data public class MinioClientProperties implements InitializingBean { private String url; private Integer port; private String accessKey; private String secretKey; private Boolean userSSL; private String bucketName; @Bean public MinioClient minioClient() { MinioClient minioClient = null; try { // 创建minioClient minioClient = MinioClient.builder().endpoint(url, port, userSSL).credentials(accessKey, secretKey).build(); // 判断是否存在桶,不存在则创建桶 boolean hasBucket = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build()); if (!hasBucket) { minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build()); } } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("minioClient初始化失败"); } return minioClient; } @Override public void afterPropertiesSet() throws Exception { log.info("-------minio初始化完成---------"); } }