自定义starter起步依赖-案例讲解
自定义starter起步依赖
目标:引入起步依赖引入之后,要想使用阿里云OSS,注入AliyunOSSUtils直接使用即可。【可以给其他人使用】
1.以阿里云OSS文件上传为例,首先需要有俩个模块一个是做起步依赖的模块-springweb【aliyun1-oos-spring-starter】
还有一个是作为配置的模块-maven【aliyun1-oss-spring-boot-autoconfigure】;
2.在starter的pom文件中添加autoconfigure maven坐标
3.1在autoconfigure工程中添加代码,首先添加阿里云工具类,工具类有个方法upload是进行文件上传【略】,在SpringBoot项目中,并不会去扫描com.aliyun.oss这个包,或者说你创建的包,你的包结构和其它人无法一致。【*springboot启动器只会对当前包下及其子包进行扫描添加到容器中】所以说@Componen @Autowirte注解没用了,因为无法确定别人的包的结构!所以要进行set方法进行属性注入【主动注入】;
3.2 使用阿里云OSS文件 需要使用密钥私钥..一些配置 将appliaction.yml属性注入进来【不是我们重点】
3.3 属性注入的配置文件 AliProperties 和 工具类 无法被springboot扫描 【关键点!!】
我们需要创建一个自动配置类 添加相应的注解 @EnableConfiguationProperties(配置类的字节码文件) 自动注入配置文件 ,并交给SpringIOC管理
使用@Bean注解进行属性的注入 会在形参中隐藏了@Autowired注解 ok差不多完事
4.在resource下创建包META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 添加全限定类名在别人使用的时候会扫描到并加载
5.测试
5.1.添加自定义起步依赖
5.2 配置appliaction.yml
5.3 注入对象调用方法
5.4 启动启动类 发送请求over
#23届找工作求助阵地##软件开发薪资爆料##我的实习求职记录##你们的毕业论文什么进度了#