xiewj пре 2 година
родитељ
комит
a5130d52d8

+ 30 - 16
4dkankan-utils-filestorage/src/main/java/com/fdkankan/filestorage/StorageAutoConfiguration.java

@@ -12,10 +12,7 @@ import com.fdkankan.filestorage.aliyun.AliyunOssTemplate;
 import com.fdkankan.filestorage.aws.AwsTemplate;
 import com.fdkankan.filestorage.cos.CosTemplate;
 import com.fdkankan.filestorage.minio.MinioTemplate;
-import com.fdkankan.filestorage.properties.AliyunOssProperties;
-import com.fdkankan.filestorage.properties.AwsProperties;
-import com.fdkankan.filestorage.properties.CosProperties;
-import com.fdkankan.filestorage.properties.MinioProperties;
+import com.fdkankan.filestorage.properties.*;
 import com.qcloud.cos.COSClient;
 import com.qcloud.cos.ClientConfig;
 import com.qcloud.cos.auth.BasicCOSCredentials;
@@ -23,6 +20,7 @@ import com.qcloud.cos.auth.COSCredentials;
 import com.qcloud.cos.http.HttpProtocol;
 import com.qcloud.cos.region.Region;
 import io.minio.MinioClient;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -35,12 +33,21 @@ import org.springframework.context.annotation.Configuration;
  */
 @Configuration
 @ConditionalOnProperty(prefix  = "filestorage",name= "active")
+@Slf4j
 public class StorageAutoConfiguration {
 
     @Bean
+    @ConditionalOnProperty(prefix  = "filestorage",name= "active")
+    FileStroageProperties fileStroageProperties(){
+        return new FileStroageProperties();
+    }
+
+    @Bean
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "oss")
-    public AliyunOssProperties aliyunOssProperties(){
-        return new AliyunOssProperties();
+    public AliyunOssProperties aliyunOssProperties(FileStroageProperties fileStroageProperties){
+        AliyunOssProperties aliyunOssProperties = new AliyunOssProperties();
+        aliyunOssProperties .setActive(fileStroageProperties.getActive());
+        return aliyunOssProperties;
     }
 
     @Bean(name = "aliyunOssClient")
@@ -60,14 +67,16 @@ public class StorageAutoConfiguration {
 
 
     @Bean
-    @ConditionalOnProperty(name = "filestorage.active",havingValue = "awss3")
-    public AwsProperties awsProperties(){
-        return new AwsProperties();
+    @ConditionalOnProperty(name = "filestorage.active",havingValue = "aws")
+    public AwsProperties awsProperties(FileStroageProperties fileStroageProperties){
+        AwsProperties awsProperties = new AwsProperties();
+        awsProperties.setActive(fileStroageProperties.getActive());
+        return awsProperties;
     }
 
 
     @Bean(name = "amazonS3Client")
-    @ConditionalOnProperty(name = "filestorage.active",havingValue = "awss3")
+    @ConditionalOnProperty(name = "filestorage.active",havingValue = "aws")
     public AmazonS3 amazonS3Client(AwsProperties properties) {
         BasicAWSCredentials awsCreds = new BasicAWSCredentials(properties.getAccessKey(), properties.getAccessKeySecret());
         ClientConfiguration clientConfiguration = new ClientConfiguration();
@@ -84,8 +93,8 @@ public class StorageAutoConfiguration {
 
 
     @Bean(name = "AwsOssTemplate")
-    @Qualifier("awss3")
-    @ConditionalOnProperty(name = "filestorage.active",havingValue = "awss3")
+    @Qualifier("aws")
+    @ConditionalOnProperty(name = "filestorage.active",havingValue = "aws")
     public FileStorageTemplate AwsOssTemplate(AmazonS3 oss, AwsProperties properties) {
         return new AwsTemplate(oss, properties);
     }
@@ -93,10 +102,13 @@ public class StorageAutoConfiguration {
 
     @Bean
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "cos")
-    public CosProperties cosProperties(){
-        return new CosProperties();
+    public CosProperties cosProperties(FileStroageProperties fileStroageProperties) {
+        CosProperties cosProperties = new CosProperties();
+        cosProperties.setActive(fileStroageProperties.getActive());
+        return cosProperties;
     }
 
+
     @Bean(name = "cosClient")
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "cos")
     public COSClient cosClient(CosProperties properties) {
@@ -130,8 +142,10 @@ public class StorageAutoConfiguration {
 
     @Bean
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "cos")
-    public MinioProperties minioProperties(){
-        return new MinioProperties();
+    public MinioProperties minioProperties(FileStroageProperties fileStroageProperties) {
+        MinioProperties minioProperties = new MinioProperties();
+        minioProperties.setActive(fileStroageProperties.getActive());
+        return minioProperties;
     }
     @Bean(name = "minioClient")
     @ConditionalOnProperty(name = "filestorage.active",havingValue = "minio")

+ 1 - 1
4dkankan-utils-filestorage/src/main/java/com/fdkankan/filestorage/aws/AwsTemplate.java

@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
 @Getter
 @Slf4j
 @Service("AwsOssTemplate")
-@ConditionalOnProperty(prefix = AwsProperties.PREFIX,name = "filestorage.active",havingValue = "awss3")
+@ConditionalOnProperty(prefix = AwsProperties.PREFIX,name = "filestorage.active",havingValue = "aws")
 public class AwsTemplate implements FileStorageTemplate {
 
     private final AmazonS3 amazonS3Client;

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

@@ -16,10 +16,10 @@ import java.util.Map;
  * MinioOSS配置属性
  */
 @Data
-@ConfigurationProperties(prefix = "filestorage.awss3")
+@ConfigurationProperties(prefix = "filestorage.aws")
 public class AwsProperties implements Serializable, InitializingBean {
 
-    public static final String PREFIX = "filestorage.awss3";
+    public static final String PREFIX = "filestorage.aws";
     private String active;
 
     /**

+ 33 - 0
4dkankan-utils-filestorage/src/main/java/com/fdkankan/filestorage/properties/FileStroageProperties.java

@@ -0,0 +1,33 @@
+package com.fdkankan.filestorage.properties;
+
+
+import com.aliyun.oss.ClientBuilderConfiguration;
+import com.fdkankan.filestorage.InnerUtils;
+import lombok.Data;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.util.StringUtils;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * 阿里云OSS配置属性
+ */
+@Data
+@ConfigurationProperties(prefix = "filestorage")
+public class FileStroageProperties implements Serializable, InitializingBean {
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
+    public static final String PREFIX = "filestorage.oss";
+
+    private String active;
+
+    @Override
+    public void afterPropertiesSet() throws Exception {
+        InnerUtils.checkArgument(!StringUtils.isEmpty(active), " filestorage 'active' can't be empty");
+        log.info("--------------filestorage 'active' is : {}",active);
+    }
+}