package com.cloudroam.extension.file; import com.cloudroam.module.file.Uploader; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; /** * 文件上传配置类 * * @author */ @Configuration(proxyBeanMethods = false) public class UploaderConfiguration { @Value("${lin.file.uploader:local}") private String uploader; // /** // * @return 本地文件上传实现类 // */ // @Bean // @Order // @ConditionalOnMissingBean // public Uploader uploader(){ // return new LocalUploader(); // } /** * 根据配置选择上传器实现类 */ @Bean @ConditionalOnProperty(name = "lin.file.uploader", havingValue = "local", matchIfMissing = true) public Uploader localUploader() { return new LocalUploader(); } @Bean @ConditionalOnProperty(name = "lin.file.uploader", havingValue = "minio") public Uploader minioUploader() { return new MinioUploader(); } }