mirror of
https://github.com/chillzhuang/blade-tool
synced 2025-03-14 09:37:25 +08:00
✨ 优化 oss bean 构造,可以减少 bean 冲突。
This commit is contained in:
parent
31acc1de3c
commit
b94d9f61d2
@ -19,7 +19,6 @@ import com.aliyun.oss.ClientConfiguration;
|
|||||||
import com.aliyun.oss.OSSClient;
|
import com.aliyun.oss.OSSClient;
|
||||||
import com.aliyun.oss.common.auth.CredentialsProvider;
|
import com.aliyun.oss.common.auth.CredentialsProvider;
|
||||||
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
|
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import org.springblade.core.oss.AliossTemplate;
|
import org.springblade.core.oss.AliossTemplate;
|
||||||
import org.springblade.core.oss.props.OssProperties;
|
import org.springblade.core.oss.props.OssProperties;
|
||||||
import org.springblade.core.oss.rule.OssRule;
|
import org.springblade.core.oss.rule.OssRule;
|
||||||
@ -36,19 +35,15 @@ import org.springframework.context.annotation.Bean;
|
|||||||
*
|
*
|
||||||
* @author Chill
|
* @author Chill
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
|
||||||
@AutoConfiguration(after = OssConfiguration.class)
|
@AutoConfiguration(after = OssConfiguration.class)
|
||||||
@EnableConfigurationProperties(OssProperties.class)
|
@EnableConfigurationProperties(OssProperties.class)
|
||||||
@ConditionalOnClass({OSSClient.class})
|
@ConditionalOnClass({OSSClient.class})
|
||||||
@ConditionalOnProperty(value = "oss.name", havingValue = "alioss")
|
@ConditionalOnProperty(value = "oss.name", havingValue = "alioss")
|
||||||
public class AliossConfiguration {
|
public class AliossConfiguration {
|
||||||
|
|
||||||
private final OssProperties ossProperties;
|
|
||||||
private final OssRule ossRule;
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(OSSClient.class)
|
@ConditionalOnMissingBean(OSSClient.class)
|
||||||
public OSSClient ossClient() {
|
public OSSClient ossClient(OssProperties ossProperties) {
|
||||||
// 创建ClientConfiguration。ClientConfiguration是OSSClient的配置类,可配置代理、连接超时、最大连接数等参数。
|
// 创建ClientConfiguration。ClientConfiguration是OSSClient的配置类,可配置代理、连接超时、最大连接数等参数。
|
||||||
ClientConfiguration conf = new ClientConfiguration();
|
ClientConfiguration conf = new ClientConfiguration();
|
||||||
// 设置OSSClient允许打开的最大HTTP连接数,默认为1024个。
|
// 设置OSSClient允许打开的最大HTTP连接数,默认为1024个。
|
||||||
@ -70,7 +65,9 @@ public class AliossConfiguration {
|
|||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnBean({OSSClient.class})
|
@ConditionalOnBean({OSSClient.class})
|
||||||
@ConditionalOnMissingBean(AliossTemplate.class)
|
@ConditionalOnMissingBean(AliossTemplate.class)
|
||||||
public AliossTemplate aliossTemplate(OSSClient ossClient) {
|
public AliossTemplate aliossTemplate(OssRule ossRule,
|
||||||
|
OssProperties ossProperties,
|
||||||
|
OSSClient ossClient) {
|
||||||
return new AliossTemplate(ossClient, ossProperties, ossRule);
|
return new AliossTemplate(ossClient, ossProperties, ossRule);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
package org.springblade.core.oss.config;
|
package org.springblade.core.oss.config;
|
||||||
|
|
||||||
import io.minio.MinioClient;
|
import io.minio.MinioClient;
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import org.springblade.core.oss.MinioTemplate;
|
import org.springblade.core.oss.MinioTemplate;
|
||||||
import org.springblade.core.oss.props.OssProperties;
|
import org.springblade.core.oss.props.OssProperties;
|
||||||
@ -34,21 +33,16 @@ import org.springframework.context.annotation.Bean;
|
|||||||
*
|
*
|
||||||
* @author Chill
|
* @author Chill
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
|
||||||
@AutoConfiguration(after = OssConfiguration.class)
|
@AutoConfiguration(after = OssConfiguration.class)
|
||||||
@ConditionalOnClass({MinioClient.class})
|
@ConditionalOnClass({MinioClient.class})
|
||||||
@EnableConfigurationProperties(OssProperties.class)
|
@EnableConfigurationProperties(OssProperties.class)
|
||||||
@ConditionalOnProperty(value = "oss.name", havingValue = "minio")
|
@ConditionalOnProperty(value = "oss.name", havingValue = "minio")
|
||||||
public class MinioConfiguration {
|
public class MinioConfiguration {
|
||||||
|
|
||||||
private final OssProperties ossProperties;
|
|
||||||
private final OssRule ossRule;
|
|
||||||
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
@ConditionalOnMissingBean(MinioClient.class)
|
@ConditionalOnMissingBean(MinioClient.class)
|
||||||
public MinioClient minioClient() {
|
public MinioClient minioClient(OssProperties ossProperties) {
|
||||||
return MinioClient.builder()
|
return MinioClient.builder()
|
||||||
.endpoint(ossProperties.getEndpoint())
|
.endpoint(ossProperties.getEndpoint())
|
||||||
.credentials(ossProperties.getAccessKey(), ossProperties.getSecretKey())
|
.credentials(ossProperties.getAccessKey(), ossProperties.getSecretKey())
|
||||||
@ -58,7 +52,9 @@ public class MinioConfiguration {
|
|||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnBean({MinioClient.class})
|
@ConditionalOnBean({MinioClient.class})
|
||||||
@ConditionalOnMissingBean(MinioTemplate.class)
|
@ConditionalOnMissingBean(MinioTemplate.class)
|
||||||
public MinioTemplate minioTemplate(MinioClient minioClient) {
|
public MinioTemplate minioTemplate(OssRule ossRule,
|
||||||
|
OssProperties ossProperties,
|
||||||
|
MinioClient minioClient) {
|
||||||
return new MinioTemplate(minioClient, ossRule, ossProperties);
|
return new MinioTemplate(minioClient, ossRule, ossProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,6 @@ import com.qiniu.storage.BucketManager;
|
|||||||
import com.qiniu.storage.Region;
|
import com.qiniu.storage.Region;
|
||||||
import com.qiniu.storage.UploadManager;
|
import com.qiniu.storage.UploadManager;
|
||||||
import com.qiniu.util.Auth;
|
import com.qiniu.util.Auth;
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import org.springblade.core.oss.QiniuTemplate;
|
import org.springblade.core.oss.QiniuTemplate;
|
||||||
import org.springblade.core.oss.props.OssProperties;
|
import org.springblade.core.oss.props.OssProperties;
|
||||||
import org.springblade.core.oss.rule.OssRule;
|
import org.springblade.core.oss.rule.OssRule;
|
||||||
@ -36,16 +35,12 @@ import org.springframework.context.annotation.Bean;
|
|||||||
*
|
*
|
||||||
* @author Chill
|
* @author Chill
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
|
||||||
@AutoConfiguration(after = OssConfiguration.class)
|
@AutoConfiguration(after = OssConfiguration.class)
|
||||||
@ConditionalOnClass({Auth.class, UploadManager.class, BucketManager.class})
|
@ConditionalOnClass({Auth.class, UploadManager.class, BucketManager.class})
|
||||||
@EnableConfigurationProperties(OssProperties.class)
|
@EnableConfigurationProperties(OssProperties.class)
|
||||||
@ConditionalOnProperty(value = "oss.name", havingValue = "qiniu")
|
@ConditionalOnProperty(value = "oss.name", havingValue = "qiniu")
|
||||||
public class QiniuConfiguration {
|
public class QiniuConfiguration {
|
||||||
|
|
||||||
private final OssProperties ossProperties;
|
|
||||||
private final OssRule ossRule;
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(com.qiniu.storage.Configuration.class)
|
@ConditionalOnMissingBean(com.qiniu.storage.Configuration.class)
|
||||||
public com.qiniu.storage.Configuration qnConfiguration() {
|
public com.qiniu.storage.Configuration qnConfiguration() {
|
||||||
@ -54,7 +49,7 @@ public class QiniuConfiguration {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(Auth.class)
|
@ConditionalOnMissingBean(Auth.class)
|
||||||
public Auth auth() {
|
public Auth auth(OssProperties ossProperties) {
|
||||||
return Auth.create(ossProperties.getAccessKey(), ossProperties.getSecretKey());
|
return Auth.create(ossProperties.getAccessKey(), ossProperties.getSecretKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,14 +61,19 @@ public class QiniuConfiguration {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnBean(com.qiniu.storage.Configuration.class)
|
@ConditionalOnBean(com.qiniu.storage.Configuration.class)
|
||||||
public BucketManager bucketManager(com.qiniu.storage.Configuration cfg) {
|
public BucketManager bucketManager(OssProperties ossProperties,
|
||||||
|
com.qiniu.storage.Configuration cfg) {
|
||||||
return new BucketManager(Auth.create(ossProperties.getAccessKey(), ossProperties.getSecretKey()), cfg);
|
return new BucketManager(Auth.create(ossProperties.getAccessKey(), ossProperties.getSecretKey()), cfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnBean({Auth.class, UploadManager.class, BucketManager.class})
|
@ConditionalOnBean({Auth.class, UploadManager.class, BucketManager.class})
|
||||||
@ConditionalOnMissingBean(QiniuTemplate.class)
|
@ConditionalOnMissingBean(QiniuTemplate.class)
|
||||||
public QiniuTemplate qiniuTemplate(Auth auth, UploadManager uploadManager, BucketManager bucketManager) {
|
public QiniuTemplate qiniuTemplate(OssRule ossRule,
|
||||||
|
OssProperties ossProperties,
|
||||||
|
Auth auth,
|
||||||
|
UploadManager uploadManager,
|
||||||
|
BucketManager bucketManager) {
|
||||||
return new QiniuTemplate(auth, uploadManager, bucketManager, ossProperties, ossRule);
|
return new QiniuTemplate(auth, uploadManager, bucketManager, ossProperties, ossRule);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user