说明:
(1)本篇博客需要注意的点:
● 本篇博客仅仅是打通阿里云短信服务,不涉及【阿里云短信服务,在项目中的具体应用】,也不涉及【具体业务的开发】;
● 阿里云短信服务,作为一个第三方的“工具”,我们把其写在了【imooc-news-dev-common】通用工程中;
目录
二:在【imooc-news-dev-common】通用工程中,获取阿里云的秘钥;
1.在【imooc-news-dev-common】通用工程中,引入spring相关依赖、阿里云相关依赖;
2.在【imooc-news-dev-common】通用工程中,创建资源文件:aliyun.properties:保存阿里云短信服务的秘钥;
3.在【imooc-news-dev-common】通用工程中,创建“获取资源文件信息”的配置类:AliyunResource类:从aliyun.properties中获取秘钥;
1.在【imooc-news-dev-common】通用工程中,创建SMSUtils工具类;(这个工具类的作用,就是发送短信的)
2.在业务代码中,调用【发送短信的SMSUtils工具类】;
(1)首先,在【imooc-news-dev-api】接口工程中,定义一个接口;
(2)然后,在【imooc-news-dev-user】这个用户微服务中,去实现接口;
一:购买阿里云短信云服务;
在我们程序中,要想使用这个阿里云短信服务,是需要这个秘钥的;
二:在【imooc-news-dev-common】通用工程中,获取阿里云的秘钥;
1.在【imooc-news-dev-common】通用工程中,引入spring相关依赖、阿里云相关依赖;
<!-- 引入SpringBoot 依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </dependency> <!-- 第三方云厂商相关的依赖,阿里云 --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.5.0</version> </dependency> </dependencies>
说明:
(1)其实,对于这个项目来说,一个说了N遍的东西:【各个微服务】依赖【api】、【api】依赖【model】、【model】依赖【common】;
● 我们在【11:第二章:架构后端项目:7:api接口暴露;(使用【api接口工程】管理【微服务的接口】)】 中,就在【api】中引入了spring相关依赖;;;当时的想法是,只要我们在【api】中引入了spring相关起来,那么在后面依赖【api】的各个【微服务】中,就不用重复引入了;
● 但是,现在我们的【common】也需要使用spring相关依赖了;;;所以,因为有上面的依赖关系,我们干脆把spring相关依赖给提到【common】中,然后把【api】中引入的spring依赖给删了,也是OK的;
(2)一般我们在顶级父工程中,对常用的依赖已经进行了设置,对其版本已经进行了设置;
● 但是,我们的【common】通用工程,其作用就是包含一些基础的组件、util工具类、枚举类等等基础的东西;;;所以,对于一些第三方的依赖,我们可以把其写在【common】中,同时在【common】去写版本;
● 自然,对于有些第三方依赖,我们也想把其定义在顶级父工程中,也是可以的;