summaryrefslogtreecommitdiff
path: root/src/main/java/com/example/simpleminio/MinioClientProperties.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/example/simpleminio/MinioClientProperties.java')
-rw-r--r--src/main/java/com/example/simpleminio/MinioClientProperties.java48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/main/java/com/example/simpleminio/MinioClientProperties.java b/src/main/java/com/example/simpleminio/MinioClientProperties.java
new file mode 100644
index 0000000..afd6e19
--- /dev/null
+++ b/src/main/java/com/example/simpleminio/MinioClientProperties.java
@@ -0,0 +1,48 @@
+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初始化完成---------");
+ }
+} \ No newline at end of file