springboot整合騰訊云短信開箱即用的示例代碼
引入騰訊云依賴
<!--騰訊云核心API--> <dependency> <groupId>com.tencentcloudapi</groupId> <artifactId>tencentcloud-sdk-java</artifactId> <version>3.1.111</version> </dependency> <dependency> <groupId>com.github.qcloudsms</groupId> <artifactId>qcloudsms</artifactId> <version>1.0.6</version> </dependency>
其次配置屬性類
import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; /** * 騰訊云發(fā)送短信 配置信息類 */ @Data @ConfigurationProperties(prefix = "tanhua.txsms") // 讀取application中的tanhua.sms的屬性 public class TxProperties { // AppId 1400開頭的 private int AppId; // 短信應(yīng)用SDK AppKey private String AppKey; // 短信模板ID private int TemplateId; // 簽名 private String signName; }
其次配置工具類
package com.He.commons.templates; import com.He.commons.properties.TxProperties; import com.alibaba.fastjson.JSONException; import com.github.qcloudsms.SmsSingleSender; import com.github.qcloudsms.SmsSingleSenderResult; import com.github.qcloudsms.httpclient.HTTPException; import lombok.extern.slf4j.Slf4j; import java.io.IOException; /** * 騰訊云發(fā)送短信模板對(duì)象,封裝了發(fā)送短信的api */ @Slf4j public class TxSmsTemplate { private TxProperties txProperties; public TxSmsTemplate(TxProperties txProperties) { this.txProperties = txProperties; } /** * 指定模板ID發(fā)送短信 * * @param number 用戶手機(jī)號(hào) * @return OK 成功 null 失敗 */ public String sendMesModel(String number,String value) { try { String[] params = {value};//{參數(shù)} SmsSingleSender ssender = new SmsSingleSender(txProperties.getAppId(), txProperties.getAppKey()); SmsSingleSenderResult result = ssender.sendWithParam("86", number, txProperties.getTemplateId(), params, txProperties.getSignName(), "", ""); // 簽名參數(shù)未提供或者為空時(shí),會(huì)使用默認(rèn)簽名發(fā)送短信 System.out.print(result); return result.errMsg; //OK } catch (HTTPException e) { // HTTP響應(yīng)碼錯(cuò)誤 log.info("短信發(fā)送失敗,HTTP響應(yīng)碼錯(cuò)誤!!!!!!!!!!!!"); // e.printStackTrace(); } catch (JSONException e) { // json解析錯(cuò)誤 log.info("短信發(fā)送失敗,json解析錯(cuò)誤!!!!!!!!!!!!"); //e.printStackTrace(); } catch (IOException e) { // 網(wǎng)絡(luò)IO錯(cuò)誤 log.info("短信發(fā)送失敗,網(wǎng)絡(luò)IO錯(cuò)誤!!!!!!!!!!!!"); // e.printStackTrace(); } return null; } }
注冊(cè)騰訊云短信到容器中
/** * 短信模塊自動(dòng)裝配類 * 根據(jù)springboot自動(dòng)裝備原理 * 將smsTemplate對(duì)象注入到容器中 * 要配置META-INF/spring.factories */ @Configuration @EnableConfigurationProperties({TxProperties.class}) public class CommonsAutoConfiguration { /** * 注冊(cè)txSmsTemplate到容器中 * @param txProperties * @return */ @Bean public TxSmsTemplate txSmsTemplate(TxProperties txProperties) { return new TxSmsTemplate(txProperties); } }
在resources中配置啟動(dòng)自動(dòng)裝配類
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.He.commons.CommonsAutoConfiguration
最后測(cè)試一下
import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @SpringBootTest @RunWith(SpringRunner.class) public class TXTest { @Autowired private TxSmsTemplate txSmsTemplate; @Test public void TestTxsms(){ String result = txSmsTemplate.sendMesModel("1511938****", "666666");//第一個(gè)參數(shù)為手機(jī)號(hào),第二個(gè)發(fā)送短信的內(nèi)容 System.out.println(result); // result等于OK 就表示發(fā)送成功 } }
返回OK則表示發(fā)送成功
到此這篇關(guān)于springboot整合騰訊云短信開箱即用的文章就介紹到這了,更多相關(guān)springboot整合騰訊云短信內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用ServletInputStream在攔截器或過濾器中應(yīng)用后重寫
這篇文章主要介紹了使用ServletInputStream在攔截器或過濾器中應(yīng)用后重寫,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Spring實(shí)戰(zhàn)之屬性占位符配置器用法示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之屬性占位符配置器用法,結(jié)合實(shí)例形式分析了spring屬性占位符配置器的具體配置及使用技巧,需要的朋友可以參考下2019-12-12利用棧使用簡(jiǎn)易計(jì)算器(Java實(shí)現(xiàn))
這篇文章主要為大家詳細(xì)介紹了Java利用棧實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09基于spring boot 1.5.4 集成 jpa+hibernate+jdbcTemplate(詳解)
下面小編就為大家?guī)硪黄趕pring boot 1.5.4 集成 jpa+hibernate+jdbcTemplate(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06Java界面編程實(shí)現(xiàn)界面跳轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了Java界面編程實(shí)現(xiàn)界面跳轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06Java得到一個(gè)整數(shù)的絕對(duì)值,不使用任何判斷和比較語(yǔ)句,包括API
Java得到一個(gè)整數(shù)的絕對(duì)值,不使用任何判斷和比較語(yǔ)句,包括API2009-09-09