package com.github.yingzhuo.spring.auto.qiniuyun;
import com.github.yingzhuo.spring.auto.qiniuyun.core.QiniuyunManager;
import com.github.yingzhuo.spring.auto.qiniuyun.core.SimpleQiniuyunManager;
import com.qiniu.util.Auth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
@Order(Ordered.HIGHEST_PRECEDENCE)
@EnableConfigurationProperties(ConfigBean.class)
@ConditionalOnClass(Auth.class)
@ConditionalOnProperty(name = "spring.auto.qiniuyun.enabled", havingValue = "true", matchIfMissing = false)
public class QiniuyunConfiguration {
private final static Logger LOGGER = LoggerFactory.getLogger(QiniuyunConfiguration.class);
@Autowired
private ConfigBean configBean;
public QiniuyunConfiguration() {
LOGGER.debug("spring-auto: '{}' enabled.", QiniuyunConfiguration.class.getSimpleName());
}
@Bean
public QiniuyunManager qiniuyunUploadManager() {
SimpleQiniuyunManager manager = new SimpleQiniuyunManager();
manager.setAk(configBean.getAccessKey());
manager.setSk(configBean.getSecretKey());
manager.setBucket(configBean.getBucket());
manager.setUrlPrefix(configBean.getUrlPrefix());
return manager;
}
}