新聞資訊  快訊  焦點  財經  政策  社會
互 聯 網   電商  金融  數據  計算  技巧
生活百科  科技  職場  健康  法律  汽車
手機百科  知識  軟件  修理  測評  微信
軟件技術  應用  系統  圖像  視頻  經驗
硬件技術  知識  技術  測評  選購  維修
網絡技術  硬件  軟件  設置  安全  技術
程序開發  語言  移動  數據  開源  百科
安全防護  資訊  黑客  木馬  病毒  移動
站長技術  搜索  SEO  推廣  媒體  移動
財經百科  股票  知識  理財  財務  金融
教育考試  育兒  小學  高考  考研  留學
您當前的位置:首頁 > IT百科 > 程序開發 > 語言 > JAVA

Spring Boot集成極光推送Java-SDK

時間:2019-09-12 09:30:45  來源:  作者:

pom.xml

<!-- 極光推送 begin -->
<dependency>
 <groupId>cn.jpush.api</groupId>
 <artifactId>jpush-client</artifactId>
 <version>3.3.10</version>
</dependency>
<dependency>
 <groupId>cn.jpush.api</groupId>
 <artifactId>jiguang-common</artifactId>
 <version>1.1.4</version>
</dependency>

Application.yml

jpush:
 appKey: xxx
 masterSecret: xxxx
 apnsProduction: false # 是否生成環境,true表示生成環境

MyJPushClient

import cn.jiguang.common.resp.APIConnectionException;
import cn.jiguang.common.resp.APIRequestException;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Message;
import cn.jpush.api.push.model.Options;
import cn.jpush.api.push.model.Platform;
import cn.jpush.api.push.model.PushPayload;
import cn.jpush.api.push.model.audience.Audience;
import cn.jpush.api.push.model.notification.AndroidNotification;
import cn.jpush.api.push.model.notification.IOSNotification;
import cn.jpush.api.push.model.notification.Notification;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import JAVA.util.List;
/**
 * 極光推送客戶端
 *
 * @author Mengday Zhang
 * @version 1.0
 * @since 2019-04-01
 */
@Component
public class MyJPushClient {
 @Value("${jpush.appKey}")
 private String appKey;
 @Value("${jpush.masterSecret}")
 private String masterSecret;
 @Value("${jpush.apnsProduction}")
 private boolean apnsProduction;
 private static JPushClient jPushClient = null;
 private static final int RESPONSE_OK = 200;
 private static final Logger logger = LoggerFactory.getLogger(MyJPushClient.class);
 public JPushClient getJPushClient() {
 if (jPushClient == null) {
 jPushClient = new JPushClient(masterSecret, appKey);
 }
 return jPushClient;
 }
 /**
 * 推送到alias列表
 *
 * @param alias 別名或別名組
 * @param notificationTitle 通知內容標題
 * @param msgTitle 消息內容標題
 * @param msgContent 消息內容
 * @param extras 擴展字段
 */
 public void sendToAliasList(List<String> alias, String notificationTitle, String msgTitle, String msgContent, String extras) {
 PushPayload pushPayload = buildPushObject_all_aliasList_alertWithTitle(alias, notificationTitle, msgTitle, msgContent, extras);
 this.sendPush(pushPayload);
 }
 /**
 * 推送到tag列表
 *
 * @param tagsList Tag或Tag組
 * @param notificationTitle 通知內容標題
 * @param msgTitle 消息內容標題
 * @param msgContent 消息內容
 * @param extras 擴展字段
 */
 public void sendToTagsList(List<String> tagsList, String notificationTitle, String msgTitle, String msgContent, String extras) {
 PushPayload pushPayload = buildPushObject_all_tagList_alertWithTitle(tagsList, notificationTitle, msgTitle, msgContent, extras);
 this.sendPush(pushPayload);
 }
 /**
 * 發送給所有安卓用戶
 *
 * @param notificationTitle 通知內容標題
 * @param msgTitle 消息內容標題
 * @param msgContent 消息內容
 * @param extras 擴展字段
 */
 public void sendToAllAndroid(String notificationTitle, String msgTitle, String msgContent, String extras) {
 PushPayload pushPayload = buildPushObject_android_all_alertWithTitle(notificationTitle, msgTitle, msgContent, extras);
 this.sendPush(pushPayload);
 }
 /**
 * 發送給所有IOS用戶
 *
 * @param notificationTitle 通知內容標題
 * @param msgTitle 消息內容標題
 * @param msgContent 消息內容
 * @param extras 擴展字段
 */
 public void sendToAllIOS(String notificationTitle, String msgTitle, String msgContent, String extras) {
 PushPayload pushPayload = buildPushObject_ios_all_alertWithTitle(notificationTitle, msgTitle, msgContent, extras);
 this.sendPush(pushPayload);
 }
 /**
 * 發送給所有用戶
 *
 * @param notificationTitle 通知內容標題
 * @param msgTitle 消息內容標題
 * @param msgContent 消息內容
 * @param extras 擴展字段
 */
 public void sendToAll(String notificationTitle, String msgTitle, String msgContent, String extras) {
 PushPayload pushPayload = buildPushObject_android_and_ios(notificationTitle, msgTitle, msgContent, extras);
 this.sendPush(pushPayload);
 }
 private PushResult sendPush(PushPayload pushPayload) {
 logger.info("pushPayload={}", pushPayload);
 PushResult pushResult = null;
 try {
 pushResult = this.getJPushClient().sendPush(pushPayload);
 logger.info("" + pushResult);
 if (pushResult.getResponseCode() == RESPONSE_OK) {
 logger.info("push successful, pushPayload={}", pushPayload);
 }
 } catch (APIConnectionException e) {
 logger.error("push failed: pushPayload={}, exception={}", pushPayload, e);
 } catch (APIRequestException e) {
 logger.error("push failed: pushPayload={}, exception={}", pushPayload, e);
 }
 return pushResult;
 }
 /**
 * 向所有平臺所有用戶推送消息
 *
 * @param notificationTitle
 * @param msgTitle
 * @param msgContent
 * @param extras
 * @return
 */
 public PushPayload buildPushObject_android_and_ios(String notificationTitle, String msgTitle, String msgContent, String extras) {
 return PushPayload.newBuilder()
 .setPlatform(Platform.android_ios())
 .setAudience(Audience.all())
 .setNotification(Notification.newBuilder()
 .setAlert(notificationTitle)
 .addPlatformNotification(AndroidNotification.newBuilder()
 .setAlert(notificationTitle)
 .setTitle(notificationTitle)
 // 此字段為透傳字段,不會顯示在通知欄。用戶可以通過此字段來做一些定制需求,如特定的key傳要指定跳轉的頁面(value)
 .addExtra("androidNotification extras key", extras)
 .build()
 )
 .addPlatformNotification(IosNotification.newBuilder()
 // 傳一個IosAlert對象,指定apns title、title、subtitle等
 .setAlert(notificationTitle)
 // 直接傳alert
 // 此項是指定此推送的badge自動加1
 .incrBadge(1)
 // 此字段的值default表示系統默認聲音;傳sound.caf表示此推送以項目里面打包的sound.caf聲音來提醒,
 // 如果系統沒有此音頻則以系統默認聲音提醒;此字段如果傳空字符串,iOS9及以上的系統是無聲音提醒,以下的系統是默認聲音
 .setSound("default")
 // 此字段為透傳字段,不會顯示在通知欄。用戶可以通過此字段來做一些定制需求,如特定的key傳要指定跳轉的頁面(value)
 .addExtra("iosNotification extras key", extras)
 // 此項說明此推送是一個background推送,想了解background看:http://docs.jpush.io/client/ios_tutorials/#ios-7-background-remote-notification
 // .setContentAvailable(true)
 .build()
 )
 .build()
 )
 // Platform指定了哪些平臺就會像指定平臺中符合推送條件的設備進行推送。 jpush的自定義消息,
 // sdk默認不做任何處理,不會有通知提示。建議看文檔http://docs.jpush.io/guideline/faq/的
 // [通知與自定義消息有什么區別?]了解通知和自定義消息的區別
 .setMessage(Message.newBuilder()
 .setMsgContent(msgContent)
 .setTitle(msgTitle)
 .addExtra("message extras key", extras)
 .build())
 .setOptions(Options.newBuilder()
 // 此字段的值是用來指定本推送要推送的apns環境,false表示開發,true表示生產;對android和自定義消息無意義
 .setApnsProduction(apnsProduction)
 // 此字段是給開發者自己給推送編號,方便推送者分辨推送記錄
 .setSendno(1)
 // 此字段的值是用來指定本推送的離線保存時長,如果不傳此字段則默認保存一天,最多指定保留十天,單位為秒
 .setTimeToLive(86400)
 .build())
 .build();
 }
 /**
 * 向所有平臺單個或多個指定別名用戶推送消息
 *
 * @param aliasList
 * @param notificationTitle
 * @param msgTitle
 * @param msgContent
 * @param extras
 * @return
 */
 private PushPayload buildPushObject_all_aliasList_alertWithTitle(List<String> aliasList, String notificationTitle, String msgTitle, String msgContent, String extras) {
 // 創建一個IosAlert對象,可指定APNs的alert、title等字段
 // IosAlert iosAlert = IosAlert.newBuilder().setTitleAndBody("title", "alert body").build();
 return PushPayload.newBuilder()
 // 指定要推送的平臺,all代表當前應用配置了的所有平臺,也可以傳android等具體平臺
 .setPlatform(Platform.all())
 // 指定推送的接收對象,all代表所有人,也可以指定已經設置成功的tag或alias或該應應用客戶端調用接口獲取到的registration id
 .setAudience(Audience.alias(aliasList))
 // jpush的通知,android的由jpush直接下發,iOS的由apns服務器下發,Winphone的由mpns下發
 .setNotification(Notification.newBuilder()
 // 指定當前推送的android通知
 .addPlatformNotification(AndroidNotification.newBuilder()
 .setAlert(notificationTitle)
 .setTitle(notificationTitle)
 // 此字段為透傳字段,不會顯示在通知欄。用戶可以通過此字段來做一些定制需求,如特定的key傳要指定跳轉的頁面(value)
 .addExtra("androidNotification extras key", extras)
 .build())
 // 指定當前推送的iOS通知
 .addPlatformNotification(IosNotification.newBuilder()
 // 傳一個IosAlert對象,指定apns title、title、subtitle等
 .setAlert(notificationTitle)
 // 直接傳alert
 // 此項是指定此推送的badge自動加1
 .incrBadge(1)
 // 此字段的值default表示系統默認聲音;傳sound.caf表示此推送以項目里面打包的sound.caf聲音來提醒,
 // 如果系統沒有此音頻則以系統默認聲音提醒;此字段如果傳空字符串,iOS9及以上的系統是無聲音提醒,以下的系統是默認聲音
 .setSound("default")
 // 此字段為透傳字段,不會顯示在通知欄。用戶可以通過此字段來做一些定制需求,如特定的key傳要指定跳轉的頁面(value)
 .addExtra("iosNotification extras key", extras)
 // 此項說明此推送是一個background推送,想了解background看:http://docs.jpush.io/client/ios_tutorials/#ios-7-background-remote-notification
 // 取消此注釋,消息推送時ios將無法在鎖屏情況接收
 // .setContentAvailable(true)
 .build())
 .build())
 // Platform指定了哪些平臺就會像指定平臺中符合推送條件的設備進行推送。 jpush的自定義消息,
 // sdk默認不做任何處理,不會有通知提示。建議看文檔http://docs.jpush.io/guideline/faq/的
 // [通知與自定義消息有什么區別?]了解通知和自定義消息的區別
 .setMessage(Message.newBuilder()
 .setMsgContent(msgContent)
 .setTitle(msgTitle)
 .addExtra("message extras key", extras)
 .build())
 .setOptions(Options.newBuilder()
 // 此字段的值是用來指定本推送要推送的apns環境,false表示開發,true表示生產;對android和自定義消息無意義
 .setApnsProduction(apnsProduction)
 // 此字段是給開發者自己給推送編號,方便推送者分辨推送記錄
 .setSendno(1)
 // 此字段的值是用來指定本推送的離線保存時長,如果不傳此字段則默認保存一天,最多指定保留十天;
 .setTimeToLive(86400)
 .build())
 .build();
 }
 /**
 * 向所有平臺單個或多個指定Tag用戶推送消息
 *
 * @param tagsList
 * @param notificationTitle
 * @param msgTitle
 * @param msgContent
 * @param extras
 * @return
 */
 private PushPayload buildPushObject_all_tagList_alertWithTitle(List<String> tagsList, String notificationTitle, String msgTitle, String msgContent, String extras) {
 //創建一個IosAlert對象,可指定APNs的alert、title等字段
 //IosAlert iosAlert = IosAlert.newBuilder().setTitleAndBody("title", "alert body").build();
 return PushPayload.newBuilder()
 // 指定要推送的平臺,all代表當前應用配置了的所有平臺,也可以傳android等具體平臺
 .setPlatform(Platform.all())
 // 指定推送的接收對象,all代表所有人,也可以指定已經設置成功的tag或alias或該應應用客戶端調用接口獲取到的registration id
 .setAudience(Audience.tag(tagsList))
 // jpush的通知,android的由jpush直接下發,iOS的由apns服務器下發,Winphone的由mpns下發
 .setNotification(Notification.newBuilder()
 // 指定當前推送的android通知
 .addPlatformNotification(AndroidNotification.newBuilder()
 .setAlert(notificationTitle)
 .setTitle(notificationTitle)
 //此字段為透傳字段,不會顯示在通知欄。用戶可以通過此字段來做一些定制需求,如特定的key傳要指定跳轉的頁面(value)
 .addExtra("androidNotification extras key", extras)
 .build())
 // 指定當前推送的iOS通知
 .addPlatformNotification(IosNotification.newBuilder()
 // 傳一個IosAlert對象,指定apns title、title、subtitle等
 .setAlert(notificationTitle)
 // 直接傳alert
 // 此項是指定此推送的badge自動加1
 .incrBadge(1)
 // 此字段的值default表示系統默認聲音;傳sound.caf表示此推送以項目里面打包的sound.caf聲音來提醒,
 // 如果系統沒有此音頻則以系統默認聲音提醒;此字段如果傳空字符串,iOS9及以上的系統是無聲音提醒,以下的系統是默認聲音
 .setSound("default")
 // 此字段為透傳字段,不會顯示在通知欄。用戶可以通過此字段來做一些定制需求,如特定的key傳要指定跳轉的頁面(value)
 .addExtra("iosNotification extras key", extras)
 // 此項說明此推送是一個background推送,想了解background看:http://docs.jpush.io/client/ios_tutorials/#ios-7-background-remote-notification
 // 取消此注釋,消息推送時ios將無法在鎖屏情況接收
 // .setContentAvailable(true)
 .build())
 .build())
 // Platform指定了哪些平臺就會像指定平臺中符合推送條件的設備進行推送。 jpush的自定義消息,
 // sdk默認不做任何處理,不會有通知提示。建議看文檔http://docs.jpush.io/guideline/faq/的
 // [通知與自定義消息有什么區別?]了解通知和自定義消息的區別
 .setMessage(Message.newBuilder()
 .setMsgContent(msgContent)
 .setTitle(msgTitle)
 .addExtra("message extras key", extras)
 .build())
 .setOptions(Options.newBuilder()
 // 此字段的值是用來指定本推送要推送的apns環境,false表示開發,true表示生產;對android和自定義消息無意義
 .setApnsProduction(apnsProduction)
 // 此字段是給開發者自己給推送編號,方便推送者分辨推送記錄
 .setSendno(1)
 // 此字段的值是用來指定本推送的離線保存時長,如果不傳此字段則默認保存一天,最多指定保留十天;
 .setTimeToLive(86400)
 .build())
 .build();
 }
 /**
 * 向android平臺所有用戶推送消息
 *
 * @param notificationTitle
 * @param msgTitle
 * @param msgContent
 * @param extras
 * @return
 */
 private PushPayload buildPushObject_android_all_alertWithTitle(String notificationTitle, String msgTitle, String msgContent, String extras) {
 return PushPayload.newBuilder()
 // 指定要推送的平臺,all代表當前應用配置了的所有平臺,也可以傳android等具體平臺
 .setPlatform(Platform.android())
 // 指定推送的接收對象,all代表所有人,也可以指定已經設置成功的tag或alias或該應應用客戶端調用接口獲取到的registration id
 .setAudience(Audience.all())
 // jpush的通知,android的由jpush直接下發,iOS的由apns服務器下發,Winphone的由mpns下發
 .setNotification(Notification.newBuilder()
 // 指定當前推送的android通知
 .addPlatformNotification(AndroidNotification.newBuilder()
 .setAlert(notificationTitle)
 .setTitle(notificationTitle)
 // 此字段為透傳字段,不會顯示在通知欄。用戶可以通過此字段來做一些定制需求,如特定的key傳要指定跳轉的頁面(value)
 .addExtra("androidNotification extras key", extras)
 .build())
 .build()
 )
 // Platform指定了哪些平臺就會像指定平臺中符合推送條件的設備進行推送。 jpush的自定義消息,
 // sdk默認不做任何處理,不會有通知提示。建議看文檔http://docs.jpush.io/guideline/faq/的
 // [通知與自定義消息有什么區別?]了解通知和自定義消息的區別
 .setMessage(Message.newBuilder()
 .setMsgContent(msgContent)
 .setTitle(msgTitle)
 .addExtra("message extras key", extras)
 .build())
 .setOptions(Options.newBuilder()
 // 此字段的值是用來指定本推送要推送的apns環境,false表示開發,true表示生產;對android和自定義消息無意義
 .setApnsProduction(apnsProduction)
 // 此字段是給開發者自己給推送編號,方便推送者分辨推送記錄
 .setSendno(1)
 // 此字段的值是用來指定本推送的離線保存時長,如果不傳此字段則默認保存一天,最多指定保留十天,單位為秒
 .setTimeToLive(86400)
 .build())
 .build();
 }
 /**
 * 向ios平臺所有用戶推送消息
 *
 * @param notificationTitle
 * @param msgTitle
 * @param msgContent
 * @param extras
 * @return
 */
 private PushPayload buildPushObject_ios_all_alertWithTitle(String notificationTitle, String msgTitle, String msgContent, String extras) {
 return PushPayload.newBuilder()
 // 指定要推送的平臺,all代表當前應用配置了的所有平臺,也可以傳android等具體平臺
 .setPlatform(Platform.ios())
 // 指定推送的接收對象,all代表所有人,也可以指定已經設置成功的tag或alias或該應應用客戶端調用接口獲取到的registration id
 .setAudience(Audience.all())
 // jpush的通知,android的由jpush直接下發,iOS的由apns服務器下發,Winphone的由mpns下發
 .setNotification(Notification.newBuilder()
 // 指定當前推送的android通知
 .addPlatformNotification(IosNotification.newBuilder()
 // 傳一個IosAlert對象,指定apns title、title、subtitle等
 .setAlert(notificationTitle)
 // 直接傳alert
 // 此項是指定此推送的badge自動加1
 .incrBadge(1)
 // 此字段的值default表示系統默認聲音;傳sound.caf表示此推送以項目里面打包的sound.caf聲音來提醒,
 // 如果系統沒有此音頻則以系統默認聲音提醒;此字段如果傳空字符串,iOS9及以上的系統是無聲音提醒,以下的系統是默認聲音
 .setSound("default")
 // 此字段為透傳字段,不會顯示在通知欄。用戶可以通過此字段來做一些定制需求,如特定的key傳要指定跳轉的頁面(value)
 .addExtra("iosNotification extras key", extras)
 // 此項說明此推送是一個background推送,想了解background看:http://docs.jpush.io/client/ios_tutorials/#ios-7-background-remote-notification
 // .setContentAvailable(true)
 .build())
 .build()
 )
 // Platform指定了哪些平臺就會像指定平臺中符合推送條件的設備進行推送。 jpush的自定義消息,
 // sdk默認不做任何處理,不會有通知提示。建議看文檔http://docs.jpush.io/guideline/faq/的
 // [通知與自定義消息有什么區別?]了解通知和自定義消息的區別
 .setMessage(Message.newBuilder()
 .setMsgContent(msgContent)
 .setTitle(msgTitle)
 .addExtra("message extras key", extras)
 .build())
 .setOptions(Options.newBuilder()
 // 此字段的值是用來指定本推送要推送的apns環境,false表示開發,true表示生產;對android和自定義消息無意義
 .setApnsProduction(apnsProduction)
 // 此字段是給開發者自己給推送編號,方便推送者分辨推送記錄
 .setSendno(1)
 // 此字段的值是用來指定本推送的離線保存時長,如果不傳此字段則默認保存一天,最多指定保留十天,單位為秒
 .setTimeToLive(86400)
 .build())
 .build();
 }
 public static void main(String[] args) {
// MyJPushClient jPushUtil = new MyJPushClient();
// List<String> aliasList = Arrays.asList("239");
// String notificationTitle = "notificationTitle";
// String msgTitle = "msgTitle";
// String msgContent = "msgContent";
// jPushUtil.sendToAliasList(aliasList, notificationTitle, msgTitle, msgContent, "exts");
 }
}

test

@RunWith(SpringRunner.class)
@SpringBootTest
public class JPushApplicationTests {
 @Autowired
 private MyJPushClient jPushClient;
 @Test
 public void testJPush() {
 List<String> aliasList = Arrays.asList("239");
 String notificationTitle = "notification_title";
 String msgTitle = "msg_title";
 String msgContent = "msg_content";
 jPushClient.sendToAliasList(aliasList, notificationTitle, msgTitle, msgContent, "exts");
 }
}
(建議收藏) | Spring Boot集成極光推送Java-SDK

 



Tags:Spring Boot   點擊:()  評論:()
聲明:本站部分內容來自互聯網,內容觀點僅代表作者本人,如有任何版權侵犯請與我們聯系,我們將立即刪除。
▌相關評論
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
▌相關推薦
1.環境目前開發的項目使用的spring boot(2.1.4.RELEASE)+ssm2. 需求現在有一個數據處理任務的接口,在spring boot項目啟動后,可以手動的去啟動任務,但是這樣比較麻煩,每次項...【詳細內容】
2019-10-10   Spring Boot  點擊:(1)  評論:(0)  加入收藏
1.什么是 Spring Boot ?解釋一下:Spring Boot 可以構建一切。Spring Boot 設計之初就是為了最少的配置,最快的速度來啟動和運行 Spring 項目。Spring Boot 使用特定的配置來構...【詳細內容】
2019-10-08   Spring Boot  點擊:(5)  評論:(0)  加入收藏
前言在現今Spring boot 流行年代,相信大部人都非常喜歡Spring boot簡潔而非常有效的配置,讓我們從龐大xml配置解放出來,讓每個框架都需要手動配置集成的勞動中解放出來。這一...【詳細內容】
2019-10-08   Spring Boot  點擊:(2)  評論:(0)  加入收藏
其實前后端分離本身并不難,后段提供接口,前端做數據展示,關鍵是這種思想。很多人做慣了前后端不分的開發,在做前后端分離的時候,很容易帶進來一些前后端不分時候的開發思路,結果做...【詳細內容】
2019-09-27   Spring Boot  點擊:(3)  評論:(0)  加入收藏
作為一名工程師,項目調優這事,是必須得熟練掌握的事情。在SpringBoot項目中,調優主要通過配置文件和配置JVM的參數的方式進行。 一、修改配置文件關于修改配置文件application....【詳細內容】
2019-09-26   Spring Boot  點擊:(5)  評論:(0)  加入收藏
1. pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.spring...【詳細內容】
2019-09-18   Spring Boot  點擊:(8)  評論:(0)  加入收藏
在Spring Boot項目中配置文件格式可以是.properties格式,也可以是yml格式,但是一般使用yml格式的比較多,yml格式都有什么語法?yml格式怎么配置?本文將詳細的講解yml的具體使用。...【詳細內容】
2019-09-18   Spring Boot  點擊:(34)  評論:(0)  加入收藏
springboot默認加載配置SpringBoot使用兩種全局的配置文件,全局配置文件可以對一些默認配置進行修改。 application.properties application.yml這兩個配置文件使我們springb...【詳細內容】
2019-09-18   Spring Boot  點擊:(14)  評論:(0)  加入收藏
pom.xml<!-- 極光推送 begin --><dependency> <groupId>cn.jpush.api</groupId> <artifactId>jpush-client</artifactId> <version>3.3.10</version></dependency><dependen...【詳細內容】
2019-09-12   Spring Boot  點擊:(37)  評論:(0)  加入收藏
在 Redis 出現之前,我們的緩存框架各種各樣,有了 Redis ,緩存方案基本上都統一了,關于 Redis,之前有一個系列教程,尚不了解 Redis 的小伙伴可以參考這個教程: Redis 教程合集使用...【詳細內容】
2019-09-11   Spring Boot  點擊:(17)  評論:(0)  加入收藏
Spring Boot是流行的Java微服務框架之一。Spring Cloud具有豐富的集成良好的Java庫,可以解決作為Java應用程序堆棧一部分的運行時問題,而Kubernetes提供了豐富的功能集來運行...【詳細內容】
2019-08-28   Spring Boot  點擊:(24)  評論:(0)  加入收藏
Spring Boot是一個真正的游戲改變者,它的受歡迎程度現在不斷增加。讓我們看看Spring Boot到底是什么?Spring Boot是一個構建在Spring框架頂部的項目。它提供了一種更簡單、...【詳細內容】
2019-08-05   Spring Boot  點擊:(21)  評論:(0)  加入收藏
推薦資訊
相關文章
欄目更新
欄目熱門
幸运飞艇精准5码二期计划