package com.qianwen.core.oss.config;
|
|
import io.minio.MinioClient;
|
import com.qianwen.core.oss.MinioTemplate;
|
import com.qianwen.core.oss.props.OssProperties;
|
import com.qianwen.core.oss.rule.OssRule;
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
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;
|
|
@EnableConfigurationProperties({OssProperties.class})
|
@Configuration(proxyBeanMethods = false)
|
@ConditionalOnClass({MinioClient.class})
|
@AutoConfigureAfter({OssConfiguration.class})
|
@ConditionalOnProperty(value = {"oss.name"}, havingValue = "minio")
|
/* loaded from: blade-starter-oss-9.3.0.0-SNAPSHOT.jar:org/springblade/core/oss/config/MinioConfiguration.class */
|
public class MinioConfiguration {
|
private final OssProperties ossProperties;
|
private final OssRule ossRule;
|
|
public MinioConfiguration(final OssProperties ossProperties, final OssRule ossRule) {
|
this.ossProperties = ossProperties;
|
this.ossRule = ossRule;
|
}
|
|
@ConditionalOnMissingBean({MinioClient.class})
|
@Bean
|
public MinioClient minioClient() {
|
return MinioClient.builder().endpoint(this.ossProperties.getEndpoint()).credentials(this.ossProperties.getAccessKey(), this.ossProperties.getSecretKey()).build();
|
}
|
|
@ConditionalOnMissingBean({MinioTemplate.class})
|
@ConditionalOnBean({MinioClient.class})
|
@Bean
|
public MinioTemplate minioTemplate(MinioClient minioClient) {
|
return new MinioTemplate(minioClient, this.ossRule, this.ossProperties);
|
}
|
}
|