summaryrefslogtreecommitdiff
path: root/src/main/java/com/example/simpleminio/MinioClientProperties.java
blob: afd6e19fc18690de5ab12e35a2267a3069300248 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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初始化完成---------");
    }
}