電 話:18937133779
網(wǎng) 址:http://m.tpiin.com
郵 箱:zboao@qq.com
前后端分離是現(xiàn)在主流的架構(gòu)設(shè)計(jì)模式,它初衷是用「單一職責(zé)」原則把代碼質(zhì)量提上去從而達(dá)到節(jié)省人力和減少溝通時(shí)的信息損失的目的。
本文推薦九個(gè)前后端分離的開(kāi)源項(xiàng)目,都是采用最流行的技術(shù)棧。本文推薦的開(kāi)源項(xiàng)目已經(jīng)收錄到 Awesome GitHub Repo。
Awesome GitHub Repo 是逛逛 GitHub 創(chuàng)建的開(kāi)源項(xiàng)目,會(huì)收集整理 GitHub 上高質(zhì)量、有趣的開(kāi)源項(xiàng)目,并將他們進(jìn)行歸類。
該開(kāi)源項(xiàng)目集不是簡(jiǎn)單的按照編程語(yǔ)言來(lái)分類,而是按照更有趣的分類方式,比如:有趣項(xiàng)目、沙雕項(xiàng)目、實(shí)戰(zhàn)項(xiàng)目、學(xué)習(xí)項(xiàng)目、實(shí)用工具等等。
本期推薦的開(kāi)源項(xiàng)目是:
1. 前后端分離博客系統(tǒng)
2. 前后端分離考試系統(tǒng)
3. 基于 TypeScript 的聊天室項(xiàng)目
4. 人力資源管理開(kāi)源項(xiàng)目
5. 一個(gè)可以用來(lái)練手的前后端分離項(xiàng)目
6. 學(xué)之思開(kāi)源考試系統(tǒng)
7. 前后端分離的后臺(tái)管理系統(tǒng)
8. 前后端管理平臺(tái)一站式腳手架
9. 一個(gè)系列項(xiàng)目:NiceFish(美人魚(yú))
01 前后端分離博客系統(tǒng)
這是一款基于 Spring Boot = Vue 的前后端分離的博客系統(tǒng),后端采用技術(shù)棧:Spring Boot、Spring Security、jjwt、MyBatis、PageHelper、Redis、commonmark-java、ip2region、quartz、yauaa。
前端核心框架:Vue2.x、Vue Router、Vuex;Vue 項(xiàng)目基于 @vue/cli4.x 構(gòu)建。JS 依賴及參考的 CSS:axios、moment、nprogress、v-viewer、prismjs、APlayer、MetingJS、lodash、mavonEditor、echarts、tocbot、iCSS
02 前后端分離考試系統(tǒng)
該項(xiàng)目是一個(gè)前后端分離的在線考試系統(tǒng)。后端使用 Spring Boot,前端使用 VUE 和 Element-UI 組件庫(kù)配合完成開(kāi)發(fā)。
03 基于 TypeScript 的聊天室項(xiàng)目
該項(xiàng)目是一個(gè)聊天室,采用全 TypeScript 開(kāi)發(fā),目前聊天室已經(jīng)具備完整的聊天功能,有興趣的朋友可以自行 fork 去開(kāi)發(fā)。
技術(shù)選型:Typescript、Vue2.6.x、Socket/io、Vuex、Nestjs、Typeorm、ES6+、SASS(SCSS)。
04 人力資源管理系統(tǒng)
微人事是一個(gè)前后端分離的人力資源管理系統(tǒng),項(xiàng)目采用 Spring Boot + Vue 開(kāi)發(fā)。首先,不同的用戶在登錄成功之后,根據(jù)不同的角色,會(huì)看到不同的系統(tǒng)菜單,完整菜單如下:
每個(gè)用戶的角色是由系統(tǒng)管理員進(jìn)行分配的,系統(tǒng)管理員給用戶分配角色的頁(yè)面如下:
系統(tǒng)管理員也可以管理不同角色可以操作的資源,頁(yè)面如下:
后端技術(shù)棧:Spring Boot、Spring Security、MyBatis、MySQL、Redis、RabbitMQ、Spring Cache、WebSocket
前端技術(shù)棧:Vue、ElementUI、axios、vue-router、Vuex、WebSocket、vue-cli4
05 前后端分離練手項(xiàng)目
一個(gè)基于 Spring Boot + Vue 開(kāi)發(fā)的前后端分離博客項(xiàng)目,帶有超級(jí)詳細(xì)開(kāi)發(fā)文檔和講解視頻。還未接觸過(guò) Vue 開(kāi)發(fā)或者前后端分離的同學(xué)可以學(xué)起來(lái)。
06 開(kāi)源考試系統(tǒng)
學(xué)之思開(kāi)源考試系統(tǒng)是一款 Java + Vue 的前后端分離的考試系統(tǒng)。主要優(yōu)點(diǎn)是開(kāi)發(fā)、部署簡(jiǎn)單快捷、界面設(shè)計(jì)友好、代碼結(jié)構(gòu)清晰。
支持 Web 端和微信小程序,能覆蓋到 PC 機(jī)和手機(jī)等設(shè)備。支持多種部署方式:集成部署、前后端分離部署、Docker 部署。
07 后臺(tái)管理系統(tǒng)
一個(gè)基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue 的前后端分離的后臺(tái)管理系統(tǒng)。
項(xiàng)目采用分模塊開(kāi)發(fā)方式, 權(quán)限控制采用 RBAC,支持?jǐn)?shù)據(jù)字典與數(shù)據(jù)權(quán)限管理,支持一鍵生成前后端代碼,支持動(dòng)態(tài)路由。
體驗(yàn)地址:
賬號(hào)密碼:admin / 123456
08 前后端管理平臺(tái)一站式腳手架
本項(xiàng)目基于Spring Cloud 和Ant Design Pro實(shí)現(xiàn)前后端管理平臺(tái)一站式腳手架,便于快速開(kāi)發(fā)企業(yè)級(jí)應(yīng)用。我們的愿景是 基于Copy&Paste技術(shù),實(shí)現(xiàn)面向Google&Baidu編程,讓碼農(nóng)搬磚不累,做更好的良民。
預(yù)覽地址:;用戶名和密碼:admin
瀏覽器輸入 localhost:8000 后會(huì)自動(dòng)跳轉(zhuǎn)到登錄頁(yè)
輸入用戶名和密碼 admin/admin后,跳轉(zhuǎn)到首頁(yè)
Cookie中JWT Token
監(jiān)控服務(wù) localhost:8001效果(如果啟動(dòng)了monitor服務(wù),用戶名和密碼為admin/admin)
移動(dòng)端效果
09 美人魚(yú)
NiceFish(美人魚(yú)) 是一個(gè)系列項(xiàng)目,目標(biāo)是示范前后端分離的開(kāi)發(fā)模式:前端瀏覽器、移動(dòng)端、Electron 環(huán)境中的各種開(kāi)發(fā)模式;后端有兩個(gè)版本:SpringBoot 版本和 SpringCloud 版本。
歷史 推薦的開(kāi)源項(xiàng)目已經(jīng)收錄到 GitHub 項(xiàng)目,歡迎 Star:
?
lovenuo1314 ?
碼齡11年
關(guān)注
1、若依后端gateway模塊配置白名單
顧名思義,就是允許訪問(wèn)的地址。且無(wú)需登錄就能訪問(wèn)。在ignore中設(shè)置whites,表示允許匿名訪問(wèn)。
1.1、在nacos中g(shù)ateway配置文件中配置
?
1.2、代碼
package com.ruoyi.gateway.filter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.constant.HttpStatus;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.TokenConstants;
import com.ruoyi.common.core.utils.JwtUtils;
import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.gateway.config.properties.IgnoreWhiteProperties;
import io.jsonwebtoken.Claims;
import reactor.core.publisher.Mono;
/**
* 網(wǎng)關(guān)鑒權(quán)
*
* @author ruoyi
*/
@Component
public class AuthFilter implements GlobalFilter, Ordered
{
private static final Logger log = LoggerFactory.getLogger(AuthFilter.class);
// 排除過(guò)濾的 uri 地址,nacos自行添加
@Autowired
private IgnoreWhiteProperties ignoreWhite;
@Autowired
private RedisService redisService;
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain)
{
ServerHttpRequest request = exchange.getRequest();
ServerHttpRequest.Builder mutate = request.mutate();
String url = request.getURI().getPath();
// 跳過(guò)不需要驗(yàn)證的路徑
if (StringUtils.matches(url, ignoreWhite.getWhites()))
{
return chain.filter(exchange);
}
String token = getToken(request);
if (StringUtils.isEmpty(token))
{
return unauthorizedResponse(exchange, "令牌不能為空");
}
Claims claims = JwtUtils.parseToken(token);
if (claims == null)
{
return unauthorizedResponse(exchange, "令牌已過(guò)期或驗(yàn)證不正確!");
}
String userkey = JwtUtils.getUserKey(claims);
boolean islogin = redisService.hasKey(getTokenKey(userkey));
if (!islogin)
{
return unauthorizedResponse(exchange, "登錄狀態(tài)已過(guò)期");
}
String userid = JwtUtils.getUserId(claims);
String username = JwtUtils.getUserName(claims);
if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username))
{
return unauthorizedResponse(exchange, "令牌驗(yàn)證失敗");
}
// 設(shè)置用戶信息到請(qǐng)求
addHeader(mutate, SecurityConstants.USER_KEY, userkey);
addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid);
addHeader(mutate, SecurityConstants.DETAILS_USERNAME, username);
// 內(nèi)部請(qǐng)求來(lái)源參數(shù)清除
removeHeader(mutate, SecurityConstants.FROM_SOURCE);
return chain.filter(exchange.mutate().request(mutate.build()).build());
}
private void addHeader(ServerHttpRequest.Builder mutate, String name, Object value)
{
if (value == null)
{
return;
}
String valueStr = value.toString();
String valueEncode = ServletUtils.urlEncode(valueStr);
mutate.header(name, valueEncode);
}
private void removeHeader(ServerHttpRequest.Builder mutate, String name)
{
mutate.headers(httpHeaders -> httpHeaders.remove(name)).build();
}
private Mono<Void> unauthorizedResponse(ServerWebExchange exchange, String msg)
{
log.error("[鑒權(quán)異常處理]請(qǐng)求路徑:{}", exchange.getRequest().getPath());
return ServletUtils.webFluxResponseWriter(exchange.getResponse(), msg, HttpStatus.UNAUTHORIZED);
}
/**
* 獲取緩存key
*/
private String getTokenKey(String token)
{
return CacheConstants.LOGIN_TOKEN_KEY + token;
}
/**
* 獲取請(qǐng)求token
*/
private String getToken(ServerHttpRequest request)
{
String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION);
// 如果前端設(shè)置了令牌前綴,則裁剪掉前綴
if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX))
{
token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY);
}
return token;
}
@Override
public int getOrder()
{
return -200;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package com.ruoyi.gateway.config.properties;
import java.util.ArrayList;
import java.util.List;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;
/**
* 放行白名單配置
*
* @author ruoyi
*/
@Configuration
@RefreshScope
@ConfigurationProperties(prefix = "security.ignore")
public class IgnoreWhiteProperties
{
/**
* 放行白名單配置,網(wǎng)關(guān)不校驗(yàn)此處的白名單
*/
private List<String> whites = new ArrayList<>();
public List<String> getWhites()
{
return whites;
}
public void setWhites(List<String> whites)
{
this.whites = whites;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
啟動(dòng)代碼并測(cè)試
?
已經(jīng)走到了sytem模塊中,并且沒(méi)有進(jìn)行登錄;說(shuō)明我們的配置已經(jīng)生效
文章知識(shí)點(diǎn)與官方知識(shí)檔案匹配
Java技能樹(shù)首頁(yè)概覽
84637 人正在系統(tǒng)學(xué)習(xí)中
打開(kāi)CSDN,閱讀體驗(yàn)更佳
Amazon API Gateway使用IP白名單控制后端服務(wù)訪問(wèn)_亞林瓜子的博客-CSD...
異地IP驗(yàn)證 使用移動(dòng)IP調(diào)用,請(qǐng)求被拒絕了。 白名單IP驗(yàn)證 同樣的請(qǐng)求,在白名單中的IP就可以正常請(qǐng)求。 總結(jié) 這里使用的AWS中國(guó)北京地區(qū)的API Gateway服務(wù),通過(guò)策略控制對(duì)后臺(tái)服務(wù)的訪問(wèn)控制。
SpringCloud Gateway網(wǎng)關(guān)配置(二)接口訪問(wèn)IP白名單配置(真實(shí)IP)
SpringCloud Gateway網(wǎng)關(guān)配置中,需要對(duì)訪問(wèn)的IP設(shè)置白名單,SpringCloud Gateway官方給出YML配置文件配置。 如下: 5.10. The RemoteAddr Route Predicate Factory The RemoteAddr route predicate factory takes a list (min size 1) of so...
Spring Cloud Gateway 網(wǎng)關(guān)實(shí)現(xiàn)白名單功能
對(duì)于微服務(wù)后臺(tái)而言,網(wǎng)關(guān)層作為所有網(wǎng)絡(luò)請(qǐng)求的入口。一般基于安全考慮,會(huì)在網(wǎng)關(guān)層做權(quán)限認(rèn)證,但是對(duì)于一些例如登錄、注冊(cè)等接口以及一些資源數(shù)據(jù),這些是不需要有認(rèn)證信息,因此需要在網(wǎng)關(guān)層設(shè)計(jì)一個(gè)白名單的功能。本文將基于 Spring Cloud Gateway 2.X 實(shí)現(xiàn)白名單功能。注意事項(xiàng): Gateway 網(wǎng)關(guān)層的白名單實(shí)現(xiàn)原理是在過(guò)濾器內(nèi)判斷請(qǐng)求地址是否符合白名單,如果通過(guò)則跳過(guò)當(dāng)前過(guò)濾器。如果有多個(gè)過(guò)濾器,則需要在每一個(gè)過(guò)濾器里邊添加白名單判斷。......
繼續(xù)訪問(wèn)
若依vue分離版(ruoyi-vue)跳過(guò)token驗(yàn)證,設(shè)置白名單
找到SecurityConfig類的configure方法 如圖所示 在設(shè)置白名單后還需要把接口上的權(quán)限標(biāo)識(shí)符去掉。然后需要重啟一下項(xiàng)目,熱加載不行,會(huì)報(bào)錯(cuò)。
繼續(xù)訪問(wèn)
?
Kong Gateway - 13 基于網(wǎng)關(guān)服務(wù)的IP白名單限制訪問(wèn)(Whitelist IP Restri...
為名稱為book的服務(wù)的路由{route_id啟用IP白名單限制訪問(wèn)其中192.168.10.50表示限制macOS系統(tǒng)這一臺(tái)計(jì)算機(jī)不能訪問(wèn)book服務(wù)的路由其中192.168.43.0/24表示限制IP地址是192.168.43這一整個(gè)網(wǎng)段的IP都不能訪問(wèn)book服務(wù)的路由(Windows 10在此...
服務(wù)網(wǎng)關(guān):Gateway_青銅造白的博客
可以實(shí)現(xiàn)日志攔截、權(quán)限控制、解決跨域、限流、熔斷、負(fù)載均衡,隱藏服務(wù)端的ip,黑名單與白名單攔截、授權(quán)等。 二:gateway的核心概念 1、Route(路由):就是轉(zhuǎn)發(fā)規(guī)則 Spring Cloud Gateway的基礎(chǔ)元素,可簡(jiǎn)單理解成一條轉(zhuǎn)發(fā)的規(guī)則。包含:ID...
SpringCloud Gateway網(wǎng)關(guān)配置(二)接口訪問(wèn)IP白名單配置(真實(shí)IP)
SpringCloud Gateway網(wǎng)關(guān)配置中,需要對(duì)訪問(wèn)的IP設(shè)置白名單,SpringCloud Gateway官方給出YML配置文件配置。 如下: 5.10. The RemoteAddr Route Predicate Factory The RemoteAddr route predicate factory takes a list (min size 1) of sources, which are CIDR-notation (IPv4 or IPv6) strings, such as 1
繼續(xù)訪問(wèn)
nacos權(quán)限認(rèn)證(二) 開(kāi)啟權(quán)限認(rèn)證
直接設(shè)置下述屬性為true,就可以避免 nacos權(quán)限認(rèn)證(一) 中的問(wèn)題。 這個(gè)時(shí)候再訪問(wèn)nacos頁(yè)面,則會(huì)直接報(bào)錯(cuò)。因此,還需要再設(shè)置兩個(gè)屬性(數(shù)值可以隨便填)。添加好這兩個(gè)屬性時(shí)頁(yè)面就能正常訪問(wèn)了。注意:如果你遇到這種情況,只需要關(guān)閉提示,點(diǎn)擊用戶名,登出,然后重新登錄即可。這個(gè)時(shí)候,如果你加修改直接啟動(dòng)其他服務(wù),則其他服務(wù)無(wú)法正常連接nacos,也需要坐一番配置。需要再其他服務(wù)的配置文件中加上如下配置。 這樣,其他服務(wù)就能正常連接nacos了。至此,nacos的權(quán)限漏洞問(wèn)題就解決了。
繼續(xù)訪問(wèn)
?
若依RuoYi-Cloud代碼學(xué)習(xí)三---ruoyi-gateway擴(kuò)展gateway網(wǎng)關(guān)組件的知識(shí)
一、API 網(wǎng)關(guān)概述 作為微服務(wù)的門(mén)面,應(yīng)用于服務(wù)數(shù)量眾多、復(fù)雜度較高、規(guī)模比較大的系統(tǒng)。 優(yōu)點(diǎn): 客戶端通過(guò) API 網(wǎng)關(guān)與微服務(wù)交互時(shí),客戶端只需要知道 API 網(wǎng)關(guān)地址即可,而不需要維護(hù)大量的服務(wù)地址,簡(jiǎn)化了客戶端的開(kāi)發(fā)。 客戶端直接與 API 網(wǎng)關(guān)通信,能夠減少客戶端與各個(gè)服務(wù)的交互次數(shù)。 客戶端與后端的服務(wù)耦合度降低。 節(jié)省流量,提高性能,提升用戶體驗(yàn)。 API 網(wǎng)關(guān)還提供了安全、流控、過(guò)濾、緩存、計(jì)費(fèi)以及監(jiān)控等 API 管理功能。 常見(jiàn)API 網(wǎng)關(guān)實(shí)現(xiàn)方案 Spring Cloud G
繼續(xù)訪問(wèn)
熱門(mén)推薦 GateWay中添加白名單
最近開(kāi)發(fā)中有一個(gè)鑒權(quán)的操作,最后需要進(jìn)行添加白名單的,廢話不多說(shuō),直接上代碼吧, 這是我的項(xiàng)目結(jié)構(gòu) applicaton啟動(dòng)類: import org.springframework.boot.SpringApplication; import org.springframework.cloud.client.SpringCloudApplication; import org.spr...
繼續(xù)訪問(wèn)
?
Spring Gateway+白名單+docker
域名解析 從物理機(jī)上調(diào)用外部服務(wù)正常,但是docker里的java服務(wù)去調(diào)用卻有問(wèn)題。 答案 docker并不能使用宿主機(jī)的host配置信息 為每一個(gè)http請(qǐng)求定制header 如果在RouteLocatorBuilder里設(shè)置header的話就會(huì)對(duì)所有http request生效,如果為了對(duì)每個(gè)request請(qǐng)求使用不同header需要如下設(shè)置 @Configuration public cl...
繼續(xù)訪問(wèn)
GateWay網(wǎng)關(guān)應(yīng)用案例(跨域、限流、黑白名單)
Spring Cloud Gateway是基于Spring Boot 2.x,Spring WebFlux和Project Reactor 構(gòu)建的。屬于異步非阻塞架構(gòu) Spring Cloud Gateway與Spring Data 和Spring Securit 技術(shù)不能同時(shí)使用 Spring Cloud Gateway基于Spring Boot和Spring Webflux提供的Netty運(yùn)行。它在傳統(tǒng)的Servlet容器中或用WAR的方式構(gòu)建時(shí)不起作用 網(wǎng)關(guān)基本的功能 :鑒權(quán)、流量控制、熔斷、路徑重寫(xiě)
繼續(xù)訪問(wèn)
?
ruoyi分離版前端白名單
ruoyi分離版前端白名單 先在router下的index.js中加上需要添加的路由 之后再permission.js下的whiteList中加上上面添加的路由就可以了 后端的接口 接口白名單 /**是匹配路徑下的所有接口,也可以直接指定某一個(gè)具體的接口 ...
繼續(xù)訪問(wèn)
若依后端gateway模塊解決跨域問(wèn)題
跨域問(wèn)題
繼續(xù)訪問(wèn)
?
微服務(wù)項(xiàng)目在gateway網(wǎng)關(guān)配置路徑訪問(wèn)白名單
網(wǎng)關(guān)的鑒權(quán):權(quán)限身份認(rèn)證作用實(shí)際上就是由一串組合起來(lái)的過(guò)濾器實(shí)現(xiàn)的, 過(guò)濾器的自定義過(guò)程就是實(shí)現(xiàn)兩個(gè)接口org.springframework.cloud.gateway.filter.GlobalFilter和org.springframework.core.Ordered 通過(guò)重寫(xiě)org.springframework.cloud.gateway.filter.GlobalFilter中的filter方法來(lái)定義過(guò)濾的邏輯 通過(guò)重寫(xiě)org.springframework.core.Ordered中的get
繼續(xù)訪問(wèn)
若依微服務(wù)SpringCloud—使用Spring Cloud Gateway網(wǎng)關(guān)
一.API網(wǎng)關(guān) API網(wǎng)關(guān),就是指系統(tǒng)的統(tǒng)一入口,它封裝來(lái)應(yīng)用程序的內(nèi)部結(jié)構(gòu),為客戶端提供統(tǒng)一服務(wù),一些與業(yè)務(wù)本身功能無(wú)關(guān)的公共邏輯可以在這里實(shí)現(xiàn),諸如認(rèn)證,鑒權(quán),監(jiān)控,路由轉(zhuǎn)發(fā)等等。 二.業(yè)界流行的網(wǎng)關(guān) (1)Ngnix+lua :使用nginx的反向代理和負(fù)載均衡可實(shí)現(xiàn)api服務(wù)器的負(fù)載均衡及高可用。lua是一種腳步語(yǔ)言,可以來(lái)編寫(xiě)一些簡(jiǎn)單的nginx支持lua腳本。 (2)Kong:基于Nginx+Lua開(kāi)發(fā),性能高,穩(wěn)定,有多個(gè)可用的插件(限流,鑒權(quán)等等)可以開(kāi)箱即用。缺點(diǎn):只支持http協(xié)
繼續(xù)訪問(wèn)
?
最新發(fā)布 若依前后端分離ruoyi-vue請(qǐng)求添加白名單403
【代碼】若依前后端分離ruoyi-vue請(qǐng)求添加白名單403。
繼續(xù)訪問(wèn)
?
Nacos配置與踩坑總結(jié)
核心問(wèn)題: 1.不同域名,走不同配置 2.開(kāi)關(guān)、配置、JSON三種配置類型 解決方案 設(shè)計(jì)思路: 1.分三大類: 業(yè)務(wù)配置、域名配置、域名自定義配置 業(yè)務(wù)配置:用于配置所有業(yè)務(wù)中的配置信息 針對(duì)業(yè)務(wù)情況,分為三類業(yè)務(wù)配置:開(kāi)關(guān)配置、基礎(chǔ)配置、數(shù)據(jù)配置(黑/白名單) 每種配置都為單獨(dú)的nacos 針對(duì)大促情況:將三類配置各自再兩個(gè)環(huán)境配置,共三個(gè)環(huán)境配置,方便在不同配置環(huán)境中自由切換 域名配置:用于配置域名走哪個(gè)配置環(huán)境,實(shí)現(xiàn)出現(xiàn)問(wèn)題快速將某域名切換到不同環(huán)境 域
繼續(xù)訪問(wèn)
?
微服務(wù)網(wǎng)關(guān)springcloud gateway自定義全局過(guò)濾器
微服務(wù)網(wǎng)關(guān)springcloud gateway自定義全局過(guò)濾器
繼續(xù)訪問(wèn)
ruoyi-spring boot 升級(jí)為nacos配置
springboot集成nacos
繼續(xù)訪問(wèn)
若依Cloud之旅(二):一次登錄到出現(xiàn)界面,若依做了什么?
若依一次登錄到出現(xiàn)界面的三個(gè)接口都做了什么
繼續(xù)訪問(wèn)
?
實(shí)現(xiàn)登錄驗(yàn)證
最近練習(xí)搭建了一個(gè)后臺(tái)管理系統(tǒng),首先第一步做了關(guān)于驗(yàn)證登錄的功能.以下項(xiàng)目使用了Nacos作為服務(wù)發(fā)現(xiàn)和注冊(cè)中心,將Auth和gateway,system等相關(guān)多個(gè)微服務(wù)注冊(cè)進(jìn)Nacos.每次刷新登錄頁(yè)面,就會(huì)獲取新的驗(yàn)證碼(,輸入正確的驗(yàn)證碼即可成功跳轉(zhuǎn)至首頁(yè). 獲取驗(yàn)證碼url: - dev-api是前端設(shè)置的反向代理,實(shí)際訪問(wèn)的是網(wǎng)關(guān)路徑和端口.即在網(wǎng)關(guān)gateway模塊做了路由轉(zhuǎn)發(fā).返回給前端 /** * 路由轉(zhuǎn)發(fā)...
繼續(xù)訪問(wèn)
若依前后端分離-免登錄
項(xiàng)目需要對(duì)若依進(jìn)行不輸入賬號(hào)密碼的登錄,所以臨時(shí)進(jìn)行修改,增加獲取不到token時(shí),判斷是否攜帶了某個(gè)特殊參數(shù),有就用默認(rèn)的賬號(hào)密碼調(diào)用登錄達(dá)到驗(yàn)證登錄的需求。 // 沒(méi)有token if (whiteList.indexOf(to.path) !== -1) { // 在免登錄白名單,直接進(jìn)入 next() } else if (to.query.index === '1') { let..
繼續(xù)訪問(wèn)
?
gateway白名單
gateway
項(xiàng)目簡(jiǎn)介
開(kāi)源數(shù)字貨幣交易所,基于Java開(kāi)發(fā)的比特幣交易所,包含BTC交易所、ETH交易所、數(shù)字貨幣交易所、交易平臺(tái)、撮合交易引擎等核心模塊。項(xiàng)目技術(shù)采用業(yè)界最流行、社區(qū)非?;钴S的開(kāi)源組件Spring Cloud Alibaba來(lái)構(gòu)建我們的交易系統(tǒng),是行業(yè)第一家基于Alibaba技術(shù)的大型項(xiàng)目,也是Spring Cloud的最佳實(shí)踐之一。
學(xué)習(xí)完本項(xiàng)目,大家將對(duì)云架構(gòu)、區(qū)塊鏈、法定數(shù)字貨幣、金融科技以及貨幣發(fā)展有自己更深入的認(rèn)識(shí)和理解,為以后20年中國(guó)CDBD的研究和發(fā)展作出自己的貢獻(xiàn),同時(shí)也為爭(zhēng)取40w的年薪增加一份可靠的技術(shù)保障!
適合對(duì)象
在職程序員的自我提升
有Spring Cloud/Spring Cloud Alibaba基礎(chǔ)的學(xué)員
有Vue/React的基礎(chǔ)的學(xué)員
有k8s/Docker運(yùn)維基礎(chǔ)的學(xué)員
技術(shù)選型
Spring Cloud Alibaba + Spring Boot + Tio + Jenkins + Maven + Jetcache + Disruptor + Redis + RocketMQ + Mongodb + Jenkins + Docker + Kubernetes
解決方案
核心功能模塊
后臺(tái)管理系統(tǒng)
前臺(tái)系統(tǒng)
項(xiàng)目截圖
后臺(tái)管理系統(tǒng)
前臺(tái)系統(tǒng)
項(xiàng)目架 構(gòu)
撮合引擎
首先我們需要了解一下Spring Cloud,然后再來(lái)了解Spring Cloud Alibaba;
源自官方描述:
Spring Cloud為開(kāi)發(fā)人員提供了一些工具用來(lái)快速構(gòu)建分布式系統(tǒng)中的一些常見(jiàn)模式和解決一些常見(jiàn)問(wèn)題(例如配置管理、服務(wù)發(fā)現(xiàn)、斷路器、智能路由、微代理、控制總線、一次性令牌、全局鎖、領(lǐng)導(dǎo)選舉、分布式會(huì)話、群集狀態(tài))。分布式系統(tǒng)的協(xié)調(diào)導(dǎo)致了很多樣板式的代碼(很多固定套路的代碼),使用Spring Cloud開(kāi)發(fā)人員可以快速建立實(shí)現(xiàn)這些模式的服務(wù)和應(yīng)用程序。它們?cè)谌魏畏植际江h(huán)境中都能很好地運(yùn)行,包括開(kāi)發(fā)人員自己的筆記本電腦、裸機(jī)數(shù)據(jù)中心和云計(jì)算等托管平臺(tái);
Spring Cloud為分布式系統(tǒng)開(kāi)發(fā)的典型應(yīng)用場(chǎng)景提供良好的開(kāi)箱即用的功能:
Spring Cloud Alibaba是Spring Cloud下的一個(gè)子項(xiàng)目,Spring Cloud Alibaba為分布式應(yīng)用程序開(kāi)發(fā)提供了一站式解決方案,它包含開(kāi)發(fā)分布式應(yīng)用程序所需的所有組件,使您可以輕松地使用Spring Cloud開(kāi)發(fā)應(yīng)用程序,使用Spring Cloud Alibaba,您只需要添加一些注解和少量配置即可將Spring Cloud應(yīng)用程序連接到Alibaba的分布式解決方案,并使用Alibaba中間件構(gòu)建分布式應(yīng)用程序系統(tǒng);
Spring Cloud Alibaba 是阿里巴巴開(kāi)源中間件跟 Spring Cloud 體系的融合:
動(dòng)力節(jié)點(diǎn)的Spring Cloud Alibaba學(xué)習(xí)教程,將帶你深入掌握基于Spring Cloud Alibaba技術(shù)棧的微服務(wù)開(kāi)發(fā)技術(shù),包括nacos、sentinel、seata、gateway、skywalking等,培養(yǎng)獨(dú)立進(jìn)行企業(yè)微服務(wù)項(xiàng)目架構(gòu)的能力;
Spring Cloud Alibaba視頻教程
Spring Cloud Alibaba資料下載
?001.視頻導(dǎo)讀
?002.Spring家族產(chǎn)品梳理
?003.What is Spring-Cloud-Alibaba?
?004.Nacos運(yùn)行環(huán)境部署
?005.向Nacos注冊(cè)中心注冊(cè)服務(wù)
?006.從Nacos發(fā)現(xiàn)服務(wù)并負(fù)載均衡調(diào)用
?007.從Nacos發(fā)現(xiàn)服務(wù)并負(fù)載均衡調(diào)用
?008.Nacos客戶端信息緩存
?009.Nacos客戶端信息緩存
?010.Nacos Config配置中心啟動(dòng)讀取外部配置
?011.Nacos Config配置中心自動(dòng)刷新
?012.Nacos Config配置中心yaml配置
?013.Nacos Config配置中心多環(huán)境配置
?014.問(wèn)答交流
?015.內(nèi)容回顧-配置中心數(shù)據(jù)模型
?016.配置中心三層結(jié)構(gòu)數(shù)據(jù)配置隔離
?017.配置中心三層結(jié)構(gòu)數(shù)據(jù)配置隔離
?018.配置版本回滾-服務(wù)注冊(cè)分組
?019.Nacos管控臺(tái)用戶權(quán)限管理
?020.Nacos數(shù)據(jù)持久化
?021.Nacos數(shù)據(jù)持久化
?022.Nacos集群環(huán)境部署
?023.Nacos集群環(huán)境測(cè)試
?024.Nacos集群統(tǒng)一入口Nginx
?025.快速回顧
?026.RestTemplate無(wú)參數(shù)Get調(diào)用返回String
?027.RestTemplate無(wú)參數(shù)Get調(diào)用返回User
?028.RestTemplate有參數(shù)Get調(diào)用返回User
?029.RestTemplate有參數(shù)Get調(diào)用返回User
?030.RestTemplate有參數(shù)Post調(diào)用返回User
?031.RestTemplate有參數(shù)Post調(diào)用返回User
?032.RestTemplate傳輸U(kuò)ser對(duì)象參數(shù)Post調(diào)用返回User
?033.RestTemplate傳輸JSON參數(shù)Post調(diào)用返回User
?034.RestTemplate有參數(shù)Put調(diào)用
?035.RestTemplate有參數(shù)Delete調(diào)用
?036.RestTemplate方法調(diào)用梳理總結(jié)
?037.RestTemplate結(jié)合Ribbon實(shí)現(xiàn)負(fù)載均衡
?038.RestTemplate結(jié)合Ribbon實(shí)現(xiàn)負(fù)載均衡
?039.Ribbon負(fù)載均衡實(shí)現(xiàn)策略
?040.自定義Ribbon負(fù)載均衡實(shí)現(xiàn)策略
?041.更改Ribbon負(fù)載均衡實(shí)現(xiàn)策略
?042.Ribbon的核心接口組成
?043.Ribbon負(fù)載均衡策略個(gè)性化配置
?044.Ribbon結(jié)合Nacos實(shí)現(xiàn)權(quán)重負(fù)載均衡策略
?045.Ribbon結(jié)合Nacos負(fù)載均衡策優(yōu)先調(diào)用同名集群
?046.Ribbon結(jié)合Nacos基于版本負(fù)載均衡策略
?047.Ribbon結(jié)合Nacos基于命名空間負(fù)載均衡策略
?048.What is Feign?
?049.Spring Cloud Alibaba基于Feign的遠(yuǎn)程調(diào)用
?050.Spring Cloud Alibaba基于Feign+Ribbon負(fù)載均衡遠(yuǎn)程調(diào)用
?051.Spring Cloud Alibaba基于Feign的相關(guān)配置
?052.脫離Ribbon的Feign的遠(yuǎn)程調(diào)用
?054.微服務(wù)的級(jí)聯(lián)故障服務(wù)雪崩
?055.Spring Cloud Alibaba集成Sentinel
?056.Spring Cloud Alibaba基于Sentinel管理后臺(tái)數(shù)據(jù)測(cè)試
?057.Spring Cloud Alibaba基于Sentinel實(shí)現(xiàn)限流
?058.Spring Cloud Alibaba基于Sentinel實(shí)現(xiàn)限流自定義返回結(jié)果
?059.Spring Cloud Alibaba基于Sentinel實(shí)現(xiàn)限流自定義跳轉(zhuǎn)頁(yè)面
?060.Spring Cloud Alibaba基于Sentinel線程數(shù)限流
?061.Spring Cloud Alibaba基于Sentinel資源關(guān)聯(lián)限流
?062.Spring Cloud Alibaba基于Sentinel流控規(guī)則和流控效果
?063.問(wèn)答交流
?064.快速回顧和演示環(huán)境預(yù)備
?065.Spring Cloud Alibaba Sentinel 服務(wù)降級(jí)RT
?066.Spring Cloud Alibaba Sentinel 服務(wù)降級(jí)異常比例和異常數(shù)
?067.Spring Cloud Alibaba Sentinel 熱點(diǎn)參數(shù)規(guī)則
?068.Spring Cloud Alibaba Sentinel 熱點(diǎn)參數(shù)規(guī)則小細(xì)節(jié)
?069.Spring Cloud Alibaba Sentinel 系統(tǒng)保護(hù)規(guī)則
?070.Spring Cloud Alibaba Sentinel 授權(quán)規(guī)則
?071.Spring Cloud Alibaba Sentinel Dashboard控制臺(tái)通信原理
?072.Spring Cloud Alibaba Sentinel 對(duì)Controller請(qǐng)求url埋點(diǎn)
?073.Spring Cloud Alibaba Sentinel 手寫(xiě)代碼實(shí)現(xiàn)埋點(diǎn)
?074.Spring Cloud Alibaba Sentinel 采用注解實(shí)現(xiàn)埋點(diǎn)
?075.Spring Cloud Alibaba Sentinel 對(duì)RestTemplate流控和熔斷
?076.Spring Cloud Alibaba Sentinel 對(duì)Feign流控和熔斷
?077.問(wèn)答交流
?078.Sentinel規(guī)則持久化-拉模式持久化到本地文件
?079.Sentinel規(guī)則持久化-拉模式持久化到本地文件
?080.Sentinel規(guī)則持久化-推模式持久化到Nacos
?081.Sentinel規(guī)則持久化-推模式持久化到Nacos
?082.Spring Cloud Gateway 網(wǎng)關(guān)功能特性
?083.Spring Cloud Gateway 網(wǎng)關(guān)搭建
?084.Spring Cloud Gateway 網(wǎng)關(guān)服務(wù)調(diào)用
?085.Spring Cloud Gateway 網(wǎng)關(guān)謂詞
?086.Spring Cloud Gateway 網(wǎng)關(guān)謂詞
?087.Spring Cloud Gateway 網(wǎng)關(guān)謂詞
?088.Spring Cloud Gateway 網(wǎng)關(guān)過(guò)濾器
?089.Spring Cloud Gateway 問(wèn)答交流
?090.Spring Cloud Gateway自定義謂詞
?091.Spring Cloud Gateway自定義謂詞
?092.Spring Cloud Gateway自定義謂詞不匹配404頁(yè)面
?093.Spring Cloud Gateway自定義過(guò)濾器
?094.Spring Cloud Gateway全局過(guò)濾器
?095.Spring Cloud Gateway自定義全局過(guò)濾器
?096.Spring Cloud Gateway集成Ribbon實(shí)現(xiàn)負(fù)載均衡
?097.Spring Cloud Gateway集成Sentinel限流
?098.Spring Cloud Gateway集成Sentinel限流自定義錯(cuò)誤頁(yè)
?099.Spring Cloud Gateway集成Sentinel規(guī)則持久化到文件
?100.Spring Cloud Gateway集成Sentinel規(guī)則持久化到Nacos
?101.Spring Cloud Gateway內(nèi)部執(zhí)行流程源碼分析
?102.Spring Cloud Gateway小結(jié)
?103.快速回顧
?104.Spring Cloud Gateway跨域CORS請(qǐng)求
?105.Spring Cloud Gateway跨域CORS請(qǐng)求
?106.What is SkyWalking?
?107.Skywalking運(yùn)行環(huán)境部署
?108.SkyWalking Agent對(duì)微服務(wù)的鏈路追蹤
?109.SkyWalking Agent對(duì)微服務(wù)鏈路追蹤
?110.SkyWalking Agent加入IDEA中對(duì)微服務(wù)鏈路追蹤
?111.SkyWalking 監(jiān)控告警通知
?112.SkyWalking 監(jiān)控告警通知
?113.SkyWalking 微服務(wù)鏈路追蹤數(shù)據(jù)持久化MySQL
?114.SkyWalking 問(wèn)答交流
?115.Skywalking持久化跟蹤數(shù)據(jù)elasticsearch
?116.Skywalking持久化跟蹤數(shù)據(jù)elasticsearch
?117.Skywalking對(duì)多個(gè)跨服務(wù)的鏈路跟蹤
?118.Skywalking對(duì)多個(gè)跨服務(wù)的鏈路跟蹤
?119.Skywalking自定義鏈路跟蹤
?120.Skywalking集成logback輸出traceId日志
?121.Skywalking UI界面-儀表盤(pán)
?122.Skywalking UI界面-拓?fù)鋱D-追蹤-性能剖析-告警
?123.Skywalking 基于nacos集群
?124.Skywalking 基于nacos集群
?125.Skywalking 基于nacos集群
?126.Skywalking 問(wèn)答交流
?127.What is Seata?
?128.Seata分布式事務(wù)生命周期
?129.Seata TC Server運(yùn)行環(huán)境部署
?130.Seata基于AT事務(wù)模式單體應(yīng)用多數(shù)據(jù)源分布式事務(wù)
?131.Seata基于AT事務(wù)模式單體應(yīng)用多數(shù)據(jù)源分布式事務(wù)
?132.Seata基于AT事務(wù)模式單體應(yīng)用多數(shù)據(jù)源分布式事務(wù)
?133.Seata基于AT事務(wù)模式多個(gè)微服務(wù)分布式事務(wù)
?134.Seata基于AT事務(wù)模式多個(gè)微服務(wù)分布式事務(wù)
?135.Seata基于AT事務(wù)模式多個(gè)微服務(wù)分布式事務(wù)
?136.Seata基于AT事務(wù)模式執(zhí)行機(jī)制
?137.Seata AT事務(wù)模式
?138.Seata AT事務(wù)模式寫(xiě)數(shù)據(jù)隔離
?139.Seata AT事務(wù)模式寫(xiě)數(shù)據(jù)隔離
?140.Seata AT事務(wù)模式讀數(shù)據(jù)隔離
?141.Seata AT事務(wù)模式讀數(shù)據(jù)隔離
?142.Seata TC Server集群環(huán)境部署
?143.Seata TC Server集群環(huán)境部署
?144.Seata TC Server集群環(huán)境集成測(cè)試
?145.Seata TC Server集群環(huán)境集成測(cè)試
?146.Seata TCC事務(wù)模式的運(yùn)行機(jī)制
?147.Seata TCC事務(wù)模式SpringBoot單體應(yīng)用案例
?148.Seata TCC事務(wù)模式SpringBoot單體應(yīng)用案例
?149.Seata TCC事務(wù)模式SpringCloudAlibab微服務(wù)應(yīng)用案例
?150.Seata TCC事務(wù)模式SpringCloudAlibab微服務(wù)應(yīng)用案例
?151.What is Spring Cloud Stream
?152.Spring Cloud Stream的核心概念
?153.Spring Cloud Stream集成RocketMQ配置
?154.Spring Cloud Stream集成RocketMQ發(fā)送消息
?155.Spring Cloud Stream集成RocketMQ接收消息
?156.Spring Cloud Stream集成RocketMQ監(jiān)聽(tīng)接收消息
?157.Spring Cloud Stream集成RocketMQ多種發(fā)送消息方式
?158.Spring Cloud Stream Starter代碼分析
?159.Spring Cloud Stream集成RocketMQ發(fā)送事務(wù)消息
?160.Spring Cloud Stream集成RocketMQ對(duì)象標(biāo)簽消息
?161.Spring Cloud Stream問(wèn)答交流
本期為大家精選了 碼云 上優(yōu)秀的 Spring Boot 語(yǔ)言開(kāi)源項(xiàng)目,涵蓋了企業(yè)級(jí)系統(tǒng)框架、文件文檔系統(tǒng)、秒殺系統(tǒng)、微服務(wù)化系統(tǒng)、后臺(tái)管理系統(tǒng)等,希望能夠給大家?guī)?lái)一點(diǎn)幫助:)
1、項(xiàng)目名稱: 分布式敏捷開(kāi)發(fā)系統(tǒng)架構(gòu)
項(xiàng)目簡(jiǎn)介: 基于 Spring + SpringMVC + Mybatis 分布式敏捷開(kāi)發(fā)系統(tǒng)架構(gòu),提供整套公共微服務(wù)服務(wù)模塊:集中權(quán)限管理(單點(diǎn)登錄)、內(nèi)容管理、支付中心、用戶管理(支持第三方登錄)、微信平臺(tái)、存儲(chǔ)系統(tǒng)、配置中心、日志分析、任務(wù)和通知等,支持服務(wù)治理、監(jiān)控和追蹤,努力為中小型企業(yè)打造全方位J2EE企業(yè)級(jí)開(kāi)發(fā)解決方案。
項(xiàng)目地址:、
2、項(xiàng)目名稱: 模塊化開(kāi)發(fā)系統(tǒng)
項(xiàng)目簡(jiǎn)介: 以 SpringBoot 為中心,模塊化開(kāi)發(fā)系統(tǒng),用戶可以隨意刪減除權(quán)限框架外 任意的系統(tǒng)模塊。復(fù)用,組裝性強(qiáng)主要應(yīng)用技術(shù):
項(xiàng)目地址:
3、項(xiàng)目名稱: JAVA 分布式快速開(kāi)發(fā)平臺(tái)
項(xiàng)目簡(jiǎn)介: JAVA 分布式快速開(kāi)發(fā)平臺(tái):SpringBoot,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis 緩存,Shiro 權(quán)限管理,Spring-Session 單點(diǎn)登錄,Quartz 分布式集群調(diào)度,Restful 服務(wù),QQ/微信登錄,App token 登錄,微信/支付寶支付;日期轉(zhuǎn)換、數(shù)據(jù)類型轉(zhuǎn)換、序列化、漢字轉(zhuǎn)拼音、身份證號(hào)碼驗(yàn)證、數(shù)字轉(zhuǎn)人民幣、發(fā)送短信、發(fā)送郵件、加密解密、圖片處理、excel 導(dǎo)入導(dǎo)出、FTP/SFTP/fastDFS 上傳下載、二維碼、XML 讀寫(xiě)、高精度計(jì)算、系統(tǒng)配置工具類等。
項(xiàng)目地址:
4、項(xiàng)目名稱: 快速開(kāi)發(fā)框架 ThinkGem
項(xiàng)目地址:
5、項(xiàng)目名稱: Java 快速開(kāi)發(fā)平臺(tái) MCMS
項(xiàng)目簡(jiǎn)介: 完整開(kāi)源,Java 快速開(kāi)發(fā)平臺(tái)?;?Spring、SpringMVC、Mybatis 架構(gòu),MStore 提供更多好用的插件與模板(文章、商城、微信、論壇、會(huì)員、評(píng)論、支付、積分、工作流、任務(wù)調(diào)度等,同時(shí)提供上百套免費(fèi)模板任意選擇),價(jià)值源自分享!銘飛系統(tǒng)不僅一套簡(jiǎn)單好用的開(kāi)源系統(tǒng)、更是一整套優(yōu)質(zhì)的開(kāi)源生態(tài)內(nèi)容體系。
項(xiàng)目地址:
6、項(xiàng)目名稱: 分布式秒殺系統(tǒng)
項(xiàng)目簡(jiǎn)介: 可能秒殺架構(gòu)原理大家都懂,網(wǎng)上也有不少實(shí)現(xiàn)方式,但大多都是文字的描述,告訴你如何如何,什么加鎖、緩存、隊(duì)列之類。但很少全面有的案例告訴你如何去做,既然是從0到1,希望以下代碼案例可以幫助到你。當(dāng)然最終落實(shí)到生產(chǎn),還有很長(zhǎng)的路要走,要根據(jù)自己的業(yè)務(wù)進(jìn)行編碼,實(shí)施并部署。你將會(huì)在代碼案例中學(xué)到以下知識(shí):
項(xiàng)目地址:
7、項(xiàng)目名稱: Spring Boot 快速開(kāi)發(fā)平臺(tái)
項(xiàng)目簡(jiǎn)介: renren-fast 是一個(gè)輕量級(jí)的 Spring Boot 快速開(kāi)發(fā)平臺(tái),其設(shè)計(jì)目標(biāo)是開(kāi)發(fā)迅速、學(xué)習(xí)簡(jiǎn)單、輕量級(jí)、易擴(kuò)展;使用 Spring Boot、Shiro、MyBatis、Redis、Bootstrap、Vue2.x 等框架,包含:管理員列表、角色管理、菜單管理、定時(shí)任務(wù)、參數(shù)管理、代碼生成器、日志管理、云存儲(chǔ)、API 模塊(APP 接口開(kāi)發(fā)利器)、前后端分離等。
項(xiàng)目地址:
8、項(xiàng)目名稱: 企業(yè)級(jí)快速開(kāi)發(fā)腳手架
項(xiàng)目簡(jiǎn)介: 本項(xiàng)目是 spring boot 搭建的一個(gè)企業(yè)級(jí)快速開(kāi)發(fā)腳手架。其技術(shù)棧如下所示:
項(xiàng)目地址:
9、項(xiàng)目名稱: 文件文檔在線預(yù)覽
項(xiàng)目簡(jiǎn)介: 此項(xiàng)目為使用 spring boot 打造文件文檔在線預(yù)覽項(xiàng)目解決方案,對(duì)標(biāo)業(yè)內(nèi)付費(fèi)產(chǎn)品有【永中office】【office365】【idocv】等,在取得公司高層同意后以Apache協(xié)議開(kāi)源出來(lái)反哺社區(qū),該項(xiàng)目使用流行的spring boot搭建,易上手和部署,基本支持主流辦公文檔的在線預(yù)覽,如 doc、docx、Excel、pdf、txt、zip、rar、圖片等等。
項(xiàng)目地址:
10、項(xiàng)目名稱: 微服務(wù)化開(kāi)發(fā)平臺(tái)
項(xiàng)目簡(jiǎn)介: Cloud-Admin 是國(guó)內(nèi)首個(gè)基于 Spring Cloud 微服務(wù)化開(kāi)發(fā)平臺(tái),核心技術(shù)采用 Spring Boot2 以及 Spring Cloud Gateway 相關(guān)核心組件,前端采用 vue-element-admin 組件。具有統(tǒng)一授權(quán)、認(rèn)證后臺(tái)管理系統(tǒng),其中包含具備用戶管理、資源權(quán)限管理、網(wǎng)關(guān) API 管理等多個(gè)模塊,支持多業(yè)務(wù)系統(tǒng)并行開(kāi)發(fā),可以作為后端服務(wù)的開(kāi)發(fā)腳手架。代碼簡(jiǎn)潔,架構(gòu)清晰,適合學(xué)習(xí)和直接項(xiàng)目中使用。
項(xiàng)目地址:
11、項(xiàng)目名稱: 后臺(tái)管理系統(tǒng) Guns
項(xiàng)目簡(jiǎn)介: Guns 基于 SpringBoot,致力于做更簡(jiǎn)潔的后臺(tái)管理系統(tǒng),完美整合 springmvc + shiro + mybatis-plus + beetl。Guns 項(xiàng)目代碼簡(jiǎn)潔,注釋豐富,上手容易,同時(shí) Guns 包含許多基礎(chǔ)模塊(用戶管理,角色管理,部門(mén)管理,字典管理等10個(gè)模塊),可以直接作為一個(gè)后臺(tái)管理系統(tǒng)的腳手架。Guns v3.0 新增 rest api 服務(wù),提供對(duì)接服務(wù)端接口的支持,并利用 jwt token 鑒權(quán)機(jī)制給予客戶端的訪問(wèn)權(quán)限,傳輸數(shù)據(jù)進(jìn)行 md5 簽名保證傳輸過(guò)程數(shù)據(jù)的安全性!
項(xiàng)目地址:
(一款免費(fèi)開(kāi)源的JAVA互聯(lián)網(wǎng)云快速開(kāi)發(fā)平臺(tái))微服務(wù)分布式代碼生成的敏捷開(kāi)發(fā)系統(tǒng)架構(gòu)。項(xiàng)目代碼簡(jiǎn)潔,注釋豐富,上手容易,還同時(shí)集中分布式、微服務(wù),同時(shí)包含許多基礎(chǔ)模塊和監(jiān)控、服務(wù)模塊。
演示版地址:
一、平臺(tái)簡(jiǎn)介
在線文檔:
視頻和文檔下載:
開(kāi)源中國(guó)地址:
文檔視頻下載:
JeeSpringCloudV3.0-互聯(lián)網(wǎng)云快速開(kāi)發(fā)框架模塊包含定時(shí)任務(wù)調(diào)度、服務(wù)器監(jiān)控、平臺(tái)監(jiān)控、異常郵件監(jiān)控、服務(wù)器Down機(jī)郵件監(jiān)控、平臺(tái)設(shè)置、開(kāi)發(fā)平臺(tái)、郵件監(jiān)控、圖表監(jiān)控、地圖監(jiān)控、單點(diǎn)登錄、Redis分布式高速緩存、
ActiveMQ隊(duì)列、會(huì)員、營(yíng)銷、在線用戶、日志、在線人數(shù)、訪問(wèn)次數(shù)、調(diào)用次數(shù)、直接集群、接口文檔、生成模塊、代碼實(shí)例、安裝視頻、教程文檔、dubbo、springCloud、SpringBoot、mybatis、springmvc、IOC、AOP、定時(shí)任務(wù)、切面緩存、MVC、事務(wù)管理。
RedisMQ隊(duì)列、代碼生成(單表、主附表、樹(shù)表、列表和表單、增刪改查云接口、redis高速緩存對(duì)接代碼、圖表統(tǒng)計(jì)、地圖統(tǒng)計(jì)、vue.js)、工作流、模塊化
代碼生成前端控件包括單行文本、富文本、下拉選項(xiàng)、復(fù)選框、日期選擇、文件上傳選擇、樹(shù)選擇控件、單選按鈕、多行文本….。
二、平臺(tái)功能
用戶管理:用戶是系統(tǒng)操作者,該功能主要完成系統(tǒng)用戶配置。
部門(mén)管理:配置系統(tǒng)組織機(jī)構(gòu)(公司、部門(mén)、小組),樹(shù)結(jié)構(gòu)展現(xiàn)支持?jǐn)?shù)據(jù)權(quán)限。
崗位管理:配置系統(tǒng)用戶所屬擔(dān)任職務(wù)。
菜單管理:配置系統(tǒng)菜單,操作權(quán)限,按鈕權(quán)限標(biāo)識(shí)等。
角色管理:角色菜單權(quán)限分配、設(shè)置角色按機(jī)構(gòu)進(jìn)行數(shù)據(jù)范圍權(quán)限劃分。
字典管理:對(duì)系統(tǒng)中經(jīng)常使用的一些較為固定的數(shù)據(jù)進(jìn)行維護(hù)。
參數(shù)管理:對(duì)系統(tǒng)動(dòng)態(tài)配置常用參數(shù)。
通知公告:系統(tǒng)通知公告信息發(fā)布維護(hù)。
操作日志:系統(tǒng)正常操作日志記錄和查詢;系統(tǒng)異常信息日志記錄和查詢。
登錄日志:系統(tǒng)登錄日志記錄查詢包含登錄異常。
在線用戶:當(dāng)前系統(tǒng)中活躍用戶狀態(tài)監(jiān)控。
定時(shí)任務(wù):在線(添加、修改、刪除)任務(wù)調(diào)度包含執(zhí)行結(jié)果日志。
代碼生成:前后端代碼生成(單表、主附表、樹(shù)表、列表和表單、增刪改查云接口、redis高速緩存對(duì)接代碼、圖表統(tǒng)計(jì)、地圖統(tǒng)計(jì)、vue.js) ,并生成菜單和權(quán)限直接使用。
系統(tǒng)接口:根據(jù)業(yè)務(wù)代碼自動(dòng)生成相關(guān)的api接口文檔。
連接池監(jiān)視:監(jiān)視當(dāng)期系統(tǒng)數(shù)據(jù)庫(kù)連接池狀態(tài),可進(jìn)行分析SQL找出系統(tǒng)性能瓶頸。
在線接口文檔:使用swager生成在線文檔。
ActiveMQ隊(duì)列:提供ActiveMQ隊(duì)列,處理批量發(fā)送大數(shù)據(jù)量郵件、大數(shù)據(jù)量日志文件。
工作流:功能包括在線辦公、我的任務(wù)、審批測(cè)試、流程管理、模型管理。
CMS:功能包括內(nèi)容管理、內(nèi)容管理、統(tǒng)計(jì)分析、欄目設(shè)置、首頁(yè)。
dubbo:代碼生成直接生成dubbo對(duì)接代碼。
服務(wù)器Down機(jī)郵件監(jiān)控:通過(guò)定時(shí)任務(wù)監(jiān)控服務(wù)器是否Down機(jī),并發(fā)送通知郵件。
服務(wù)器監(jiān)控:通過(guò) sigar 進(jìn)行服務(wù)器圖形化監(jiān)控。
異常郵件監(jiān)控:全局?jǐn)r截系統(tǒng)異常,并發(fā)送通知郵件。
單點(diǎn)登錄:使用shior和Redis、共享session方式實(shí)現(xiàn)單點(diǎn)登錄。
Redis分布式高速緩存:代碼生成直接生成Redis對(duì)接代碼。
三、系統(tǒng)截圖
JeeSpringCloudV3.0-互聯(lián)網(wǎng)云快速開(kāi)發(fā)框架(后臺(tái))
四、平臺(tái)特性
JeeSpringCloud基于SpringBoot+SpringMVC+Mybatis+Redis+SpringCloud+Vue.js微服務(wù)分布式代碼生成的敏捷開(kāi)發(fā)系統(tǒng)架構(gòu)。項(xiàng)目代碼簡(jiǎn)潔,注釋豐富,上手容易,還同時(shí)集中分布式、微服務(wù),同時(shí)包含許多基礎(chǔ)模塊(用戶管理,角色管理,部門(mén)管理,字典管理等10個(gè)模塊。成為大眾認(rèn)同、大眾參與、成就大眾、大眾分享的開(kāi)發(fā)平臺(tái)。JeeSpring官方qq群(328910546)。代碼生成前端界面、底層代碼(spring mvc、mybatis、Spring boot、Spring Cloud、微服務(wù)的生成)、安全框架、視圖框架、服務(wù)端驗(yàn)證、任務(wù)調(diào)度、持久層框架、數(shù)據(jù)庫(kù)連接池、緩存框架、日志管理、IM等核心技術(shù)。努力用心為大中小型企業(yè)打造全方位J2EE企業(yè)級(jí)平臺(tái)ORM/Redis/Service倉(cāng)庫(kù)開(kāi)發(fā)解決方案。一個(gè)RepositoryService倉(cāng)庫(kù)就直接實(shí)現(xiàn)dubbo、微服務(wù)、基礎(chǔ)服務(wù)器對(duì)接接口和實(shí)現(xiàn)。
努力用心為大中小型企業(yè)打造全方位J2EE企業(yè)級(jí)平臺(tái)開(kāi)發(fā)解決方案。
Spring Boot/Spring cloud微服務(wù)是利用云平臺(tái)開(kāi)發(fā)企業(yè)應(yīng)用程序的最新技術(shù),它是小型、輕量和過(guò)程驅(qū)動(dòng)的組件。微服務(wù)適合設(shè)計(jì)可擴(kuò)展、易于維護(hù)的應(yīng)用程序。它可以使開(kāi)發(fā)更容易,還能使資源得到最佳利用。
微服務(wù)/集群(nignx) 支持REST風(fēng)格遠(yuǎn)程調(diào)用(HTTP + JSON/XML):基于非常成熟的Spring Boot框架,在Spring Boot Spring Cloud中實(shí)現(xiàn)了REST風(fēng)格(HTTP + JSON/XML)的遠(yuǎn)程調(diào)用,以顯著簡(jiǎn)化企業(yè)內(nèi)部的跨語(yǔ)言交互,同時(shí)顯著簡(jiǎn)化企業(yè)對(duì)外的Open API、無(wú)線API甚至AJAX服務(wù)端等等的開(kāi)發(fā)。
事實(shí)上,這個(gè)REST調(diào)用也使得Dubbo可以對(duì)當(dāng)今特別流行的“微服務(wù)”架構(gòu)提供基礎(chǔ)性支持。 另外,REST調(diào)用也達(dá)到了比較高的性能,在基準(zhǔn)測(cè)試下,HTTP + JSON默認(rèn)的RPC協(xié)議(即TCP + Hessian2二進(jìn)制序列化)之間只有1.5倍左右的差距,詳見(jiàn)下文的基準(zhǔn)測(cè)試報(bào)告。
ORM/Redis/Service倉(cāng)庫(kù)
RepositoryORM倉(cāng)庫(kù),提供ORM接口和多種實(shí)現(xiàn),可進(jìn)行配置實(shí)現(xiàn)。
RepositoryRedis倉(cāng)庫(kù),提供Redis接口和多種實(shí)現(xiàn),可進(jìn)行配置實(shí)現(xiàn)。可以配置調(diào)用單機(jī)、redis、云redis對(duì)接。
RepositoryService倉(cāng)庫(kù),提供Service接口和多種實(shí)現(xiàn),可進(jìn)行配置實(shí)現(xiàn)。一個(gè)RepositoryService倉(cāng)庫(kù)就直接實(shí)現(xiàn)dubbo、微服務(wù)、基礎(chǔ)服務(wù)器對(duì)接接口和實(shí)現(xiàn)。
五、架構(gòu)說(shuō)明
技術(shù)選型
六、代碼生成器
代碼生成器
七、開(kāi)發(fā)入門(mén)
平臺(tái)教程:
官方提供:
1、詳細(xì)部署文檔。
2、部署視頻。
3、中級(jí)培訓(xùn)視頻待定,包括代碼生成、架構(gòu)代碼介紹。
4、高級(jí)培訓(xùn)視頻待定,包括架構(gòu)代碼詳解。
5、架構(gòu)培訓(xùn)視頻待定,包括架構(gòu)詳解、代碼生成詳解。
平臺(tái)教程:
八、在線體驗(yàn)
演示版地址:
(全國(guó)總部)河南省鄭州市鄭東新區(qū)龍子湖修業(yè)街與明理路博雅廣場(chǎng)4號(hào)樓1104房
+18937133779
zboao@qq.com
中博奧技術(shù)有限公司& 版權(quán)所有
工信部備案號(hào):豫ICP備11015869號(hào)-8