Javaweb之SpringBootWeb案例之自动配置案例的自定义starter测试的详细解析

3.2.4.3 自定义starter测试

阿里云OSS的starter我们刚才已经定义好了,接下来我们就来做一个测试。

今天的课程资料当中,提供了一个自定义starter的测试工程。我们直接打开文件夹,里面有一个测试工程。测试工程就是springboot-autoconfiguration-test,我们只需要将测试工程直接导入到Idea当中即可。

测试前准备:

  1. 在test工程中引入阿里云starter依赖

    • 通过依赖传递,会把autoconfigure依赖也引入了
    XML 复制代码
    <!--引入阿里云OSS起步依赖-->
    <dependency>
        <groupId>com.aliyun.oss</groupId>
        <artifactId>aliyun-oss-spring-boot-starter</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
  2. 在test工程中的application.yml文件中,配置阿里云OSS配置参数信息(从以前的工程中拷贝即可)

    XML 复制代码
    #配置阿里云OSS参数
    aliyun:
      oss:
        endpoint: https://oss-cn-shanghai.aliyuncs.com
        accessKeyId: LTAI5t9MZK8iq5T2Av5GLDxX
        accessKeySecret: C0IrHzKZGKqU8S7YQcevcotD3Zd5Tc
        bucketName: web-framework01
  3. 在test工程中的UploadController类编写代码

    java 复制代码
    @RestController
    public class UploadController {
    ​
        @Autowired
        private AliOSSUtils aliOSSUtils;
    ​
        @PostMapping("/upload")
        public String upload(MultipartFile image) throws Exception {
            //上传文件到阿里云 OSS
            String url = aliOSSUtils.upload(image);
            return url;
        }
    ​
    }

编写完代码后,我们启动当前的SpringBoot测试工程:

  • 随着SpringBoot项目启动,自动配置会把AliOSSUtils的bean对象装配到IOC容器中

用postman工具进行文件上传:

通过断点可以看到自动注入AliOSSUtils的bean对象:

相关推荐
yaoxin5211231 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫1 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
学逆向的2 小时前
C++纯虚函数
开发语言·c++·网络安全
何极光2 小时前
IDEA集成Maven
java·maven·intellij-idea
程序员二叉2 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉2 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
老马识途2.02 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
青山木2 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
凡人叶枫3 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员3 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言