SpringBoot 自动配置
1.什么是SpringBoot的自动配置?
SpringBoot自动配置,英文为Auto-Configuration:
- 它是指基于你引入的依赖jar包,对SpringBoot应用进行自动配置的
- 它为SpringBoot框架的”开箱即用”提供了基础支持
自动装配与自动配置的区别
自动装配(AutoWire)与自动配置(Auto-Configuration)是两个概念
补充:
我们经常提到的配置类(Configuration Class)也有广义与狭义的区别:
- 广义上的”配置类“: 被注解@Component 直接或间接修饰的某个类,即Spring的组件,其中就包含了被@Configuration修饰的类。
- 狭义上的”配置类”: 特指被@Configuration注解修饰的类。
2.SpringBoot导入第三方maven依赖
通常当我们需要在 SpringBoot 中使用阿里云的OSS文件上传功能时,步骤是这样的:
2.1 导入相关的Starter依赖
1 2 3 4 5 6
| <dependency> <groupId>com.kangkang</groupId> <artifactId>aliyun-oss-spring-boot-starter</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
|
2.2 配置阿里云OSS
1 2 3 4 5 6 7
| aliyun: oss: endpoint: https://?????.aliyuncs.com accessKeyId: LTAI5txxxxxxxxX7iM accessKeySecret: gtdFm??????sgDKm51fx bucketName: ???? url: https://?????.oss-cn-hangzhou.aliyuncs.com
|
2.3 直接使用Oss Template
此时SpringBoot就已经将相关Bean对象注入到IOC容器中,可以通过@AutoWired自动注入使用了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| @RestController @RequestMapping("/file") @Slf4j public class FileController {
@Autowired private OssTemplate ossTemplate;
@PostMapping("/upload") public String upload(MultipartFile imageFile) throws IOException { String originalFilename = imageFile.getOriginalFilename(); InputStream inputStream = imageFile.getInputStream(); return ossTemplate.upload(originalFilename, inputStream); } }
|
##3.无启动类实现类自动加载
在resouce目录下创建Spring.factories目录
这些自动配置类通常会在 Spring Boot 应用程序启动时自动生效,它们会根据一定的条件为你的应用程序自动配置一些功能和组件
1 2 3 4 5
| org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.kangkang.common.exception.ExceptionCatch,\ com.kangkang.common.conf.Swagger2Configuration,\ com.kangkang.common.aliyun.GreenTextScan,\ com.kangkang.common.aliyun.GreenImageScan
|