sms4j 2.0 全新来袭功能的调整及maven变化详解
作者:Dromara开源社区 发布时间:2023-11-05 00:31:51
标签:sms4j,maven,变化,功能调整
sms4j 2.0 全新来袭
即sms-aggregation成功加入dromara之后,很多人向我们反应了项目名称太长不好记,也太绕口, 在经过了有奖名称征集之后,我们定名为sms4j并伴随着大版本更新一同发布。这次更新不仅仅改变了项目名称,启用了新的logo,还调整了项目结构,加入了更多新特性,下面我们一起来简单的看一下吧!
首先是 maven 的变化
老版本中,groupId 为作者的个人网站,同时也是项目的官网,在新的版本中统一改为了 Dromara 的地址
<dependency>
<groupId>org.dromara.sms4j</groupId>
<artifactId>sms4j-spring-boot-starter</artifactId>
<version> 最新版本请查看gitee或官网 </version>
</dependency>
其次是功能的调整
在 1.X 版本中,(前名称 sms-aggregatio)只支持单家运营商的使用,不能同时使用多家厂商,对于厂商的切换也只能依靠配置文件的改变,可以说是功能及其单一,但是在新版本中,添加了多厂商支持和并用,同时配置方式也发生了变化
sms:
alibaba:
#阿里云的accessKey
accessKeyId: 您的accessKey
#阿里云的accessKeySecret
accessKeySecret: 您的accessKeySecret
#短信签名
signature: 测试签名
#模板ID 用于发送固定模板短信使用
templateId: SMS_215125134
#模板变量 上述模板的变量
templateName: code
#请求地址 默认为dysmsapi.aliyuncs.com 如无特殊改变可以不用设置
requestUrl: dysmsapi.aliyuncs.com
huawei:
#华为短信appKey
appKey: 5N6fvXXXX920HaWhVXXXXXX7fYa
#华为短信appSecret
app-secret: Wujt7EYzZTBXXXXXXEhSP6XXXX
#短信签名
signature: 华为短信测试
#通道号
sender: 8823040504797
#模板ID 如果使用自定义模板发送方法可不设定
template-id: acXXXXXXXXc274b2a8263479b954c1ab5
#华为回调地址,如不需要可不设置或为空
statusCallBack:
#华为分配的app请求地址
url: https://XXXXX.cn-north-4.XXXXXXXX.com:443
@RestController
@RequestMapping("/test/")
public class DemoController {
// 测试发送固定模板短信
@RequestMapping("/")
public void doLogin(String username, String password) {
//阿里云向此手机号发送短信
SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage("18888888888","123456");
//华为短信向此手机号发送短信
SmsFactory.createSmsBlend(SupplierType.HUAWEI).sendMessage("16666666666","000000");
}
}
在以上仅仅只是示例,在实际的实用中可以同时支持更多的厂商。
其他的方面
sms4j 还添加了数据库配置的支持,开发者可以通过在数据库添加配置来替代配置文件,做到动态切换厂商
sms:
# 告诉框架要读取的厂商配置来源,此处为枚举形式
config-type: sql_config
sql:
# JDBC驱动
driver-class-name: com.mysql.cj.jdbc.Driver
# 要链接的数据库名称
database-name: dev
# 连接字符串
url: jdbc:mysql://localhost:3306
# 数据库账号
username: root
# 数据库密码
password: 123456
# 配置所在表名
table-name: config_info
# 厂商名称存储字段
supplier-field-name: user_name
# 配置所在字段
config-name: pay_psw
# 配置启用标识字段
start-name: state
# 配置启用值 此处意思为 当字段state值为1时,则启用这个配置
is-start: 1
更多的新特性和功能不在这里一 一介绍了,具体的可以查看官方文档或者 gitee 仓库
官方文档 wind.kim/
gitee 仓库 gitee.com/dromara/sms…
来源:https://juejin.cn/post/7222823687837401125


猜你喜欢
- Android 网络请求框架Volley实例详解首先上效果图Logcat日志信息on ReponseVolley特别适合数据量不大但是通信频
- 写在最前面上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考。Demo是在我上次写的
- JWT可以理解为一个加密的字符串,里面由三部分组成:头部(Header)、负载(Payload)、签名(signature)由base64加
- 目录问题如下:一. 解决问题一(kafka监听不到数据)二. 解决问题二(kafka为什么会有重复数据发送)三. 解决问题三(kafka数据
- 在学习c++的过程中,也曾经学习java,就发现java有类的嵌套,而看的c++的书,从来没有哪个讲c++的类可以嵌套,于是就试了一下,看是
- 我们先来看完整的代码:import java.io.File;public class JudgeFile {public static v
- Mybatis @SelectKey用法用处主要用来解决主键自增问题用法@SelectKey(statement="SELECT
- 今天来说一个Java多机部署下定时任务的处理方案。需求: 有两台服务器同时部署了同一套代码, 代码中写有spring自带的定时任务,但是每次
- 核心配置文件mybatis-config.xml 系统核心配置文件MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属
- 删除以逗号隔开的字符串中某一个值例如要删除 “1,2,3,4” 中的 2,返回 &ldquo
- using System.Collections.Generic;using System.Text;using System;namesp
- 前言我们书接上文,我们在了解LINQ下面有说到在本地查询IEnumerbale主要是用委托来作为传参,而解析型查询IQueryable则用E
- 在考虑类初始化时,我们都知道进行子类初始化时,如果父类没有初始化要先初始化子类。然而事情并没有一句话这么简单。首先看看Java中初始化触发的
- 我们在构建C# Form窗口的时候经常需要到弹出新的窗口,那么接着就会如何弹出窗口的疑问。这里介绍最常见的两种弹窗方法show()和show
- 一、开篇说起 AOP 小伙伴们肯定很熟悉,无论是 JDK * 或者是 CGLIB 等,其底层都是通过操作 Java 字节码来实现代理。常
- ImageManager2这个类具有异步从网络下载图片,从sd读取本地图片,内存缓存,硬盘缓存,图片使用动画渐现等功能,已经将其应用在包含大
- 前言:这段时间由于学校实行静态化管理,寝室门和校门都是用了人脸识别的装置,每次经过都会激发我的好奇心,也想自己搞一个人脸识别玩玩,随着开始查
- 前言大家应该都用过synchronized 关键字加锁,用来保证某个时刻只允许一个线程运行。那么如果控制某个时刻允许指定数量的线程执行,有什
- 前言枚举为我看日常开发的可读性提供的非常好的支持,但是有时在使用枚举类型时,我们需要取名称和值,甚至有时候还需要取枚举类型的描述。通过反射,
- 前言在之前我们分析 Tomcat catalina.bat 原理解析 时候,我们发现在启动tomcat的参数中存在 -Djava.