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