完成了 starter 项目的创建、发布之后,在 Spring Boot 项目中便可以直接使用了,下面简单介绍一-下 Starter 测试使用步骤,其中省略掉了 Spring Boot 基础项目搭建的部分。
首先,通过 maven 依赖引入 starter, 在 pom.xml 文件中添加如下配置。
<groupId>com. . secbro2</groupId>
<artifactId>spring-boot- starter- msg</artifactId>
<version>1 .0- SNAPSHOT</version>
</ dependency>
然后在当前项目的 application.properties 中配置对应的参数,也就是MsgProperties 中对应的参数。
msg. enabled=true
msg. ur1=127.0.0.1
msg. acces
sKevId=10001
msg. ac
accessKeySecret=afelwjfwfwef
写一个简单的 Controller 用来测试访问用。
@RestController
public class HelloWorldController {
@Resource
private MsgService msgService;
msgService. sendMsg("测试消息");
return "";
当通过浏览器访问: htp:/localhost:8080/sendMlsg 时, 便会打印出如下日志。
Http 请求 url=127.0.0.1;accessKeyld=10001;accesKeySecret=afelwjfwfwef;msg=测试消息日志说明 MsgService 对象被自动配置,并且通过测试。
此处需注意的是,如果直接在 Controller 中使用 MsgService 而没有在配置文件中指定enabled 的参数值为 true,在启动时会抛出异常。这是因为默认情况下 enabled 为 false,不会实例化 MsgService 对象,而 Controller 依赖注入了该类的对象,当然会抛异常了。
总结一下 starter 的工作流程 : Spring Boot 在启动时扫描项目所依赖的 jar 包,寻找包含spring .factories 文件的 jar 包;根据 spring .factories 配置加载自动配置的 Configuration 类;
根据@Conditional 注解的条件, 进行自动配置并将 Bean 注入 Spring 容器。
在具体实践中,针对发送短信验证码这样的 starter,可以进行深层次的拓展,实现发送短信验证码的各种基础功能,而当其他项目需要对应功能时只用引入对应的依赖,按照约定配置具体的参数即可马上使用。
本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。