MinioConfig.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.pavis.app.saasbacken.config;
  2. import io.minio.MinioClient;
  3. import io.swagger.annotations.ApiModelProperty;
  4. import lombok.Data;
  5. import lombok.extern.slf4j.Slf4j;
  6. import org.springframework.beans.factory.annotation.Value;
  7. import org.springframework.boot.context.properties.ConfigurationProperties;
  8. import org.springframework.context.annotation.Bean;
  9. import org.springframework.context.annotation.Configuration;
  10. import org.springframework.stereotype.Component;
  11. /**
  12. * @program: push-saas
  13. * @description:
  14. * @author: Guanzi
  15. * @created: 2021/11/02 13:47
  16. */
  17. @Data
  18. @Component
  19. @ConfigurationProperties(prefix = "minio")
  20. @Slf4j
  21. @Configuration
  22. public class MinioConfig {
  23. @ApiModelProperty("endPoint是一个URL,域名,IPv4或者IPv6地址")
  24. @Value("${spring.minio.endpoint}")
  25. private String endpoint;
  26. @ApiModelProperty("TCP/IP端口号")
  27. @Value("${spring.minio.port}")
  28. private int port;
  29. @ApiModelProperty("accessKey类似于用户ID,用于唯一标识你的账户")
  30. @Value("${spring.minio.accessKey}")
  31. private String accessKey;
  32. @ApiModelProperty("secretKey是你账户的密码")
  33. @Value("${spring.minio.secretKey}")
  34. private String secretKey;
  35. @ApiModelProperty("如果是true,则用的是https而不是http,默认值是true")
  36. @Value("${spring.minio.secure}")
  37. private Boolean secure;
  38. @ApiModelProperty("默认存储桶")
  39. @Value("${spring.minio.bucketName}")
  40. private String bucketName;
  41. @ApiModelProperty("配置目录")
  42. @Value("${spring.minio.configDir}")
  43. private String configDir;
  44. @ApiModelProperty("文件大小")
  45. @Value("${spring.minio.maxFileSize}")
  46. private Integer maxFileSize;
  47. @ApiModelProperty("签名有效时间")
  48. @Value("${spring.minio.expires}")
  49. private Integer expires;
  50. // @Bean
  51. // public MinioClient getMinioClient() throws InvalidEndpointException, InvalidPortException {
  52. // log.info("endpoint:{},port:{},accessKey:{},secretKey:{},secure:{}",endpoint, port, accessKey, secretKey,secure);
  53. // MinioClient minioClient = new MinioClient(endpoint, port, accessKey, secretKey,secure);
  54. // return minioClient;
  55. // }
  56. /**
  57. * 注入minio 客户端
  58. * @return
  59. */
  60. @Bean
  61. public MinioClient minioClient(){
  62. log.info("endpoint:{},port:{},accessKey:{},secretKey:{},secure:{}",endpoint, port, accessKey, secretKey,secure);
  63. return MinioClient.builder()
  64. .endpoint(endpoint)
  65. .credentials(accessKey, secretKey)
  66. .build();
  67. }
  68. }