Browse Source

first commit

xiewj 2 years ago
parent
commit
40f06f126c

+ 37 - 12
4dkankan-utils-filestorage/src/main/java/com/fdkankan/filestorage/StorageAutoConfiguration.java

@@ -28,27 +28,31 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
 
 /**
  * @author Xiewj
  * @date 2023/8/28
  */
 @Configuration
-@EnableConfigurationProperties({AliyunOssProperties.class, AwsProperties.class, CosProperties.class, MinioProperties.class})
 @ConditionalOnProperty(prefix  = "filestorage",name= "active")
 public class StorageAutoConfiguration {
+
     @Bean
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "oss")
+    public AliyunOssProperties aliyunOssProperties(){
+        return new AliyunOssProperties();
+    }
+
+    @Bean(name = "aliyunOssClient")
+    @ConditionalOnProperty(name = "filestorage.active",havingValue = "oss")
     public OSS aliyunOssClient(AliyunOssProperties properties) {
         return new OSSClientBuilder().build(properties.getRequestEndpoint(),
                 properties.getAccessKey(),
                 properties.getAccessKeySecret(),
                 properties.getConfig());
     }
-    @Bean
+    @Bean(name = "aliyunOssTemplate")
     @Qualifier("oss")
-    @Primary
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "oss")
     public FileStorageTemplate aliyunOssTemplate(OSS oss, AliyunOssProperties properties) {
         return new  AliyunOssTemplate(oss, properties);
@@ -57,6 +61,13 @@ public class StorageAutoConfiguration {
 
     @Bean
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "awss3")
+    public AwsProperties awsProperties(){
+        return new AwsProperties();
+    }
+
+
+    @Bean(name = "amazonS3Client")
+    @ConditionalOnProperty(name = "filestorage.active",havingValue = "awss3")
     public AmazonS3 amazonS3Client(AwsProperties properties) {
         BasicAWSCredentials awsCreds = new BasicAWSCredentials(properties.getAccessKey(), properties.getAccessKeySecret());
         ClientConfiguration clientConfiguration = new ClientConfiguration();
@@ -72,15 +83,22 @@ public class StorageAutoConfiguration {
 
 
 
-    @Bean
+    @Bean(name = "AwsOssTemplate")
     @Qualifier("awss3")
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "awss3")
     public FileStorageTemplate AwsOssTemplate(AmazonS3 oss, AwsProperties properties) {
         return new AwsTemplate(oss, properties);
     }
 
+
     @Bean
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "cos")
+    public CosProperties cosProperties(){
+        return new CosProperties();
+    }
+
+    @Bean(name = "cosClient")
+    @ConditionalOnProperty(name = "filestorage.active",havingValue = "cos")
     public COSClient cosClient(CosProperties properties) {
 
         // 1 初始化用户身份信息(secretId, secretKey)。
@@ -102,23 +120,30 @@ public class StorageAutoConfiguration {
 
 
 
-    @Bean
+    @Bean(name = "cosTemplate")
     @Qualifier("cos")
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "cos")
-    public FileStorageTemplate cosTemplate(COSClient ossClient, CosProperties properties) {
-        return new CosTemplate(ossClient, properties);
+    public FileStorageTemplate cosTemplate(COSClient ossClient, CosProperties cosProperties) {
+        return new CosTemplate(ossClient, cosProperties);
     }
+
+
     @Bean
+    @ConditionalOnProperty(name = "filestorage.active",havingValue = "cos")
+    public MinioProperties minioProperties(){
+        return new MinioProperties();
+    }
+    @Bean(name = "minioClient")
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "minio")
-    public MinioClient minioClient(MinioProperties properties) {
+    public MinioClient minioClient(MinioProperties minioProperties) {
         return MinioClient.builder()
-                .endpoint(properties.getEndpoint())
-                .credentials(properties.getAccessKey(), properties.getAccessKeySecret())
+                .endpoint(minioProperties.getEndpoint())
+                .credentials(minioProperties.getAccessKey(), minioProperties.getAccessKeySecret())
                 .build();
     }
 
 
-    @Bean
+    @Bean(name = "minioOssTemplate")
     @Qualifier("minio")
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "minio")
     public FileStorageTemplate minioOssTemplate(MinioClient oss, MinioProperties properties) {

+ 1 - 1
4dkankan-utils-filestorage/src/main/java/com/fdkankan/filestorage/properties/AliyunOssProperties.java

@@ -5,6 +5,7 @@ import com.aliyun.oss.ClientBuilderConfiguration;
 import com.fdkankan.filestorage.InnerUtils;
 import lombok.Data;
 import org.springframework.beans.factory.InitializingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
@@ -17,7 +18,6 @@ import java.util.Map;
  */
 @Data
 @ConfigurationProperties(prefix = "filestorage.oss")
-@Component
 public class AliyunOssProperties implements Serializable, InitializingBean {
 
     public static final String PREFIX = "filestorage.oss";

+ 1 - 1
4dkankan-utils-filestorage/src/main/java/com/fdkankan/filestorage/properties/AwsProperties.java

@@ -4,6 +4,7 @@ package com.fdkankan.filestorage.properties;
 import com.fdkankan.filestorage.InnerUtils;
 import lombok.Data;
 import org.springframework.beans.factory.InitializingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
@@ -16,7 +17,6 @@ import java.util.Map;
  */
 @Data
 @ConfigurationProperties(prefix = "filestorage.awss3")
-@Component
 public class AwsProperties implements Serializable, InitializingBean {
 
     public static final String PREFIX = "filestorage.awss3";

+ 1 - 1
4dkankan-utils-filestorage/src/main/java/com/fdkankan/filestorage/properties/CosProperties.java

@@ -5,6 +5,7 @@ import com.fdkankan.filestorage.InnerUtils;
 import com.qcloud.cos.ClientConfig;
 import lombok.Data;
 import org.springframework.beans.factory.InitializingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
@@ -17,7 +18,6 @@ import java.util.Map;
  */
 @Data
 @ConfigurationProperties(prefix = "filestorage.cos")
-@Component
 public class CosProperties implements Serializable, InitializingBean {
 
     public static final String PREFIX = "filestorage.cos";

+ 1 - 1
4dkankan-utils-filestorage/src/main/java/com/fdkankan/filestorage/properties/MinioProperties.java

@@ -4,6 +4,7 @@ package com.fdkankan.filestorage.properties;
 import com.fdkankan.filestorage.InnerUtils;
 import lombok.Data;
 import org.springframework.beans.factory.InitializingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
@@ -16,7 +17,6 @@ import java.util.Map;
  */
 @Data
 @ConfigurationProperties(prefix = "filestorage.minio")
-@Component
 public class MinioProperties implements Serializable, InitializingBean {
 
     public static final String PREFIX = "filestorage.minio";