All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.guang19.cos.spring.autoconfig.AliyunOSSAutoConfiguration Maven / Gradle / Ivy

package com.github.guang19.cos.spring.autoconfig;

import com.github.guang19.cos.config.AliyunOSSClientProperties;
import com.github.guang19.cos.template.buckettemplate.AliyunOSSBucketTemplate;
import com.github.guang19.cos.template.buckettemplate.DefaultAliyunOSSBucketTemplate;
import com.github.guang19.cos.template.objecttemplate.AliyunOSSObjectTemplate;
import com.github.guang19.cos.template.objecttemplate.DefaultAliyunOSSObjectTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringBootConfiguration;
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;

/**
 * @author yangguang
 * @date 2020/2/11
 * @description 

阿里云OSS服务自动配置

*/ @SpringBootConfiguration @EnableConfigurationProperties(COSProperties.class) @ConditionalOnClass({AliyunOSSObjectTemplate.class, AliyunOSSBucketTemplate.class}) public class AliyunOSSAutoConfiguration { /** *

* 使用 COSProperties 创建 AliyunOSSClientProperties *

* @param cosProperties cosProperties * @return aliyunOSSClientProperties */ @Bean("aliyunOSSClientProperties") @ConditionalOnMissingBean @ConditionalOnProperty(prefix = "spring.cos.service",value = "type",havingValue = "aliyun") public AliyunOSSClientProperties aliyunOSSClientProperties(@Autowired COSProperties cosProperties) { AliyunOSSClientProperties aliyunOSSClientProperties = new AliyunOSSClientProperties(cosProperties.getSecretId(),cosProperties.getSecretKey() ,cosProperties.getEndpoint(),cosProperties.getCname(),cosProperties.getUploadImgStyle()); aliyunOSSClientProperties.setObjectTemplateBucket(cosProperties.getObjectTemplateBucket()); if(cosProperties.getUploadLimitSize() != null) { aliyunOSSClientProperties.setUploadLimitSize(cosProperties.getUploadLimitSize()); } if(cosProperties.getProtocol() != null) { aliyunOSSClientProperties.setProtocol(cosProperties.getProtocol()); } if(cosProperties.getSocketTimeout() != null) { aliyunOSSClientProperties.setSocketTimeout(cosProperties.getSocketTimeout()); } if(cosProperties.getConnectionTimeout() != null) { aliyunOSSClientProperties.setConnectionTimeout(cosProperties.getConnectionTimeout()); } if(cosProperties.getConnectionRequestTimeout() != null) { aliyunOSSClientProperties.setConnectionRequestTimeout(cosProperties.getConnectionRequestTimeout()); } if(cosProperties.getMaxConnections() != null) { aliyunOSSClientProperties.setMaxConnections(cosProperties.getMaxConnections()); } if(cosProperties.getProxyIp() != null) { aliyunOSSClientProperties.setProxyIP(cosProperties.getProxyIp()); } if(cosProperties.getProxyPort() != null) { aliyunOSSClientProperties.setProxyPort(cosProperties.getProxyPort()); } if(cosProperties.getProxyUsername() != null) { aliyunOSSClientProperties.setProxyUsername(cosProperties.getProxyUsername()); } if(cosProperties.getProxyPassword() != null) { aliyunOSSClientProperties.setProxyPassword(cosProperties.getProxyPassword()); } return aliyunOSSClientProperties; } /** * 自动配置: spring.cos.service.enabled=true * @param aliyunOSSClientProperties 阿里云OSS客户端配置属性 * @return 阿里云OSS对象操作模板 */ @Bean @ConditionalOnMissingBean @ConditionalOnBean(AliyunOSSClientProperties.class) @ConditionalOnProperty(prefix = "spring.cos.service",value = "type",havingValue = "aliyun") public AliyunOSSObjectTemplate aliyunOSSObjectTemplate(@Autowired AliyunOSSClientProperties aliyunOSSClientProperties) { return new DefaultAliyunOSSObjectTemplate(aliyunOSSClientProperties); } /** * 自动配置: spring.cos.service.enabled=true * @param aliyunOSSClientProperties 阿里云OSS客户端配置属性 * @return 阿里云OSS存储桶个操作模板 */ @Bean @ConditionalOnMissingBean @ConditionalOnBean(AliyunOSSClientProperties.class) @ConditionalOnProperty(prefix = "spring.cos.service",value = "type",havingValue = "aliyun") public AliyunOSSBucketTemplate aliyunOSSBucketTemplate(@Autowired AliyunOSSClientProperties aliyunOSSClientProperties) { return new DefaultAliyunOSSBucketTemplate(aliyunOSSClientProperties); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy