中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做跨境的網(wǎng)站有哪些網(wǎng)絡(luò)口碑營(yíng)銷案例

做跨境的網(wǎng)站有哪些,網(wǎng)絡(luò)口碑營(yíng)銷案例,電商的網(wǎng)站開發(fā)訂單返利功能,如何做網(wǎng)站調(diào)研《瘋狂Spring Boot講義》是2021年電子工業(yè)出版社出版的圖書,作者是李剛 《瘋狂Spring Boot終極講義》不是一本介紹類似于PathVariable、MatrixVariable、RequestBody、ResponseBody這些基礎(chǔ)注解的圖書,它是真正講解Spring Boot的圖書。Spring Boot的核心…

《瘋狂Spring Boot講義》是2021年電子工業(yè)出版社出版的圖書,作者是李剛

《瘋狂Spring Boot終極講義》不是一本介紹類似于@PathVariable、@MatrixVariable、@RequestBody、@ResponseBody這些基礎(chǔ)注解的圖書,它是真正講解Spring Boot的圖書。Spring Boot的核心是什么?它的核心就是自動(dòng)配置,以及以自動(dòng)配置為基礎(chǔ)與大量第三方后端技術(shù)進(jìn)行整合。因此學(xué)習(xí)Spring Boot應(yīng)該重點(diǎn)關(guān)注的就是它為整合各種框架所提供的自動(dòng)配置,包括Spring Boot如何整合各種前端框架,如Spring MVC、Spring WebFlux;Spring Boot如何整合各種持久層技術(shù),如Spring Data、MyBatis、Hibernate/JPA、R2DBC、jOOQ等;Spring Boot如何整合NoSQL技術(shù),如Redis、MongoDB、Neo4j、Cassandra、Solr、Elasticsearch等;Spring Boot如何整合各種消息組件,如ActiveMQ、Artemis、RabbitMQ、Kafka等;Spring Boot如何整合各種緩存機(jī)制,如JCache、EhCache、Redis、Hazelcast等;Spring Boot如何整合各種安全框架,如Spring Security、Shiro等,這些都只是Spring Boot整合的典型內(nèi)容。本書的作用就是帶你徹底掌握Spring Boot官方手冊(cè)中所整合的各種技術(shù),而且本書會(huì)講清楚Spring Boot和Spring框架的關(guān)系,帶著你揭開Spring Boot的核心:自動(dòng)配置的面紗,領(lǐng)著你剖析Spring Boot自動(dòng)配置的源代碼實(shí)現(xiàn),然后以此為基礎(chǔ),詳細(xì)講解Spring Boot如何整合各種Java后端技術(shù)。在掌握了本書知識(shí)之后,你不僅能輕松看懂Spring Boot官方手冊(cè)(其實(shí)無須再看了),而且真正掌握了Spring Boot的大成,并通過Spring Boot的整合觸類旁通地掌握各種Java后端技術(shù)。本書提供了讀者答疑交流群,讀者可通過掃描本書封面上的二維碼,按照指引加入讀者答疑交流群。

技術(shù)示范:高并發(fā)請(qǐng)求提供及時(shí)響應(yīng),對(duì)秒殺請(qǐng)求的瞬時(shí)高并發(fā)進(jìn)行削峰限流

項(xiàng)目背景

  • 電商在特殊時(shí)間節(jié)點(diǎn)做促銷活動(dòng),參與商品的價(jià)格實(shí)惠,用戶特意等到活動(dòng)期間購(gòu)買
  • 從而很容易引起瞬時(shí)的高并發(fā)請(qǐng)求的峰值情況
  • 通常通過RabbitMQ消息組件進(jìn)行削峰,即限制、延遲處理,避免服務(wù)器崩潰。

系統(tǒng)架構(gòu)

MVC

Spring MVC

用戶請(qǐng)求的處理與轉(zhuǎn)發(fā);

包括系統(tǒng)的超鏈接與表單提交

攔截器的權(quán)限控制

底層持久層

DAO層

MyBatis

簡(jiǎn)化,優(yōu)化與封裝

SQL Mapping框架

Mapper接口

NoSQL

分布式Session

Redis

數(shù)據(jù)緩存、頁面緩存

消息組件

RabbitMQ

秒殺限流

業(yè)務(wù)邏輯層

Spring Boot

整合與自動(dòng)配置;業(yè)務(wù)邏輯組件

依賴注入;面向接口;

IoC;聲明式事務(wù)框架

表現(xiàn)層

Thymeleaf

收集用戶請(qǐng)求數(shù)據(jù);

業(yè)務(wù)數(shù)據(jù)表示

Bootstrap

簡(jiǎn)單美化

jQuery

JS工具庫(kù)動(dòng)態(tài)更新頁面

功能模塊

  • 主要是用戶模塊和秒殺模塊
  • 業(yè)務(wù)邏輯組件為門面封裝且依賴Mapper組件

Mapper對(duì)象組件| 4

UserMapper

user_inf

MiaoshaItemMapper

item_inf、miaoshao_inf

OrderMapper

order_inf

MiaoshaOrderMapper

order_inf、miaosha_order

業(yè)務(wù)邏輯組件| 2

UserService

用戶登錄、用戶信息查看

MiaoshaService

商品查看、商品秒殺

消息組件| 2

MiaoshaSender

向RabbitMQ消息隊(duì)列發(fā)送消息

MiaoshaReceiver

接受RabbitMQ消息隊(duì)列中的消息

操作Redis組件| 1

FkRedisUtil

加工邏輯

項(xiàng)目搭建

  • 通過Spring Boot整合框架的自動(dòng)配置,只需要在pom.xml中添加對(duì)應(yīng)依賴庫(kù)

其他依賴庫(kù)

Apache Commons Pool2連接池

連接Redis

Common Lang 3

StringUtils、ArrayUtils、ClassUtils、RegExUtils工具類

Common Codec

編碼、解碼算法,如MD5加密算法

領(lǐng)域?qū)ο髮?/strong>

設(shè)計(jì)領(lǐng)域?qū)ο?/strong>

  • MyBatis的SQL Mapping進(jìn)行持久化操作,從而保證面向?qū)ο蠓绞介_發(fā)

user_inf

nickname not null;加鹽加密

item_inf

主鍵自增

商品名稱、商品描述

miaosha_item

主鍵自增

基本信息;

秒殺價(jià)、庫(kù)存、開始結(jié)束時(shí)間

order_inf

主鍵自增

訂單用戶、訂單價(jià)格、下單時(shí)間

miaosh_order

主鍵自增;

unique key(user_id, item_id)唯一約束

用戶ID、訂單ID、商品ID

創(chuàng)建領(lǐng)域?qū)ο箢?/strong>

  • MyBatis是結(jié)果集映射框架
  • 只需要定義數(shù)據(jù)列的類實(shí)例變量以及setter、getter方法

Mapper(DAO)層

  • MyBatis只需要通過XML文件定義Mapper接口的相關(guān)SQL語句就開發(fā)完成Mapper組件。

實(shí)現(xiàn)Mapper組件

  • Mapper接口聲明Mapper組件提供的持久化對(duì)象操作的CRUD方法
  • 可能隨著業(yè)務(wù)邏輯的需求而增加

UserMapper接口

根據(jù)user_id查詢user_inf;

更新user_inf

@Select(“SQL語句”)

@Update(“SQL語句”)

MiaoshaItemMapper接口

更新庫(kù)存

查詢所有秒殺商品

查詢指定秒殺商品

@Result(參數(shù))

List<MiaoshaItem>

@Param

OrderMapper接口

插入新紀(jì)錄

獲取訂單

@Insert(“SQL語句”)

@Option(參數(shù))

MiaoshaOrderMapper接口

獲取秒殺訂單

插入秒殺訂單

部署Mapper組件

Spring Boot自動(dòng)配置數(shù)據(jù)源、SqlSessionFactory基礎(chǔ)組件,部署Mapper成容器的Bean

spring.datasource

.driver-class-name

=com.mysql.cj.jdbc.Driver

.url

=mysql://localhost:3306/...

.username

.password

分布式Session及用戶登錄的實(shí)現(xiàn)

權(quán)限管理等采用分布式Session,高并發(fā)秒殺系統(tǒng)通常都是分布式應(yīng)用,基于Redis實(shí)現(xiàn)

實(shí)現(xiàn)Redis組件

  • 添加Spring Boot Data Redis,提供自動(dòng)配置RedisConnectionFactory、StringRedisTmplate
  • 注入其他組件即可

spring.redis

host

port

database

password

lettuce.pool

.maxActive

.maxIdle

空閑連接數(shù)

.minIdle

  • 工具類對(duì)RedisTemplate封裝
  • 方便操作系統(tǒng)中的key-value對(duì)
  • 包括添加key-value對(duì)、根據(jù)key獲取對(duì)應(yīng)的value、根據(jù)key刪除指定key-value 對(duì)、判斷指定的key是否存在等

FkRedisUtil

get:獲取相應(yīng)的value

RedisTemplate: opsForValue: get

set:添加key-value對(duì)

opsForValue: set: Duration.ofSeconds

exists:key是否存在

RedisTemplate: hasKey;

delete:根據(jù)key刪除

RedisTemplate: delete

incr

RedisTemplate: opsForValue: increment

decr

RedisTemplate: opsForValue: decrement

beanTostring

ObjectMapper.writeValueAsString;

stringToBean

ObjectMapper.readValue

  • 控制前綴部分,避免重復(fù)
  • 控制過期時(shí)間

KeyPrefix

定義prefix以及過期時(shí)間

便于KeyPrefix提供實(shí)現(xiàn)類,而作為基類

AbstractPrefix

設(shè)置過期時(shí)間

定義:類名:prefix

分布式Session的實(shí)現(xiàn)

  • Session ID發(fā)送瀏覽器,以Cookie保存[UUID]
  • 服務(wù)器端用Redis保存key-value信息,以客戶端的Session ID為key
  • 對(duì)象:分布式Session

  1. 為了實(shí)現(xiàn)流程,定義操作Cookie工具類
  2. getSessionId工具方法就是分布式Session實(shí)現(xiàn)機(jī)制的第1步:通過Cookie來讀取Session ID;如果讀不到有效的Session ID,系統(tǒng)會(huì)生成一個(gè)隨機(jī)的UUID作為Session ID,并將該Session ID 以Cookie的形式寫入瀏覽器,交給瀏覽器保存。

key

value

Cookie

“token”

UUID

Redis

prefix+UUID

Session信息

CookieUtil

addSessionID:以Cookie寫入

HttpServletResponse:addCookie

Cookie: setMaxAge、setPath

getCookieValue:讀取指定

HttpServletRequest: getCookies()

Cookie: getName、getValue

getSessionId:讀取,否則創(chuàng)建

對(duì)getCookieValue進(jìn)一步封裝

通過Redis緩存實(shí)現(xiàn)分布式Session

UserController

addSession: 分別保存

getByToken:延長(zhǎng)有效期、讀取

只要任意控制器訪問系統(tǒng),攔截器就會(huì)向氛圍中的瀏覽器寫入Cookie,從而保存SessionID

AccessInterceptor

preHandle:訪問寫入、保存

攔截所有控制器的處理方法

HandlerInterceptor: preHandle

UserKey

key前綴以及有效時(shí)間

用戶登錄的實(shí)現(xiàn)

getLoginVerifyCode符合分布式的Session流程

UserController

toLogin

getLoginVerifyCode:驗(yàn)證碼

@GetMappring(method)

HttpServletResponse:getOutputStream

proLogin

http://m.risenshineclean.com/news/64977.html

相關(guān)文章:

  • 如何做國(guó)外的網(wǎng)站網(wǎng)絡(luò)營(yíng)銷八大工具
  • 直播營(yíng)銷惠州seo推廣優(yōu)化
  • 哪些網(wǎng)站做財(cái)金的好seo網(wǎng)絡(luò)營(yíng)銷技巧
  • 相城做網(wǎng)站的公司東營(yíng)網(wǎng)站建設(shè)費(fèi)用
  • 如何修改網(wǎng)站后臺(tái)seo推廣效果
  • 免費(fèi)空間申請(qǐng)網(wǎng)站google關(guān)鍵詞搜索技巧
  • 大連建站企業(yè)域名注冊(cè)需要什么條件
  • 做外貿(mào)的數(shù)據(jù)網(wǎng)站鏈接檢測(cè)工具
  • 學(xué)校網(wǎng)站織夢(mèng)源碼騰訊中國(guó)聯(lián)通
  • 315網(wǎng)站專題怎么做google推廣費(fèi)用
  • 平面設(shè)計(jì)師長(zhǎng)逛的網(wǎng)站有哪些網(wǎng)站的網(wǎng)絡(luò)推廣
  • 世界網(wǎng)站制作百度app怎么找人工客服
  • 網(wǎng)站開發(fā)付費(fèi)視頻才能觀看小程序開發(fā)公司排行榜
  • 網(wǎng)站首頁的尺寸2022網(wǎng)站seo
  • 網(wǎng)站開發(fā)職業(yè)規(guī)劃實(shí)施網(wǎng)站模板之家
  • 做營(yíng)銷網(wǎng)站設(shè)計(jì)百度免費(fèi)咨詢
  • 河北住房和城鄉(xiāng)建設(shè)局網(wǎng)站首頁百度免費(fèi)推廣
  • 東莞推廣網(wǎng)站排名seo研究中心官網(wǎng)
  • 教育行業(yè)網(wǎng)站建設(shè)代做seo關(guān)鍵詞排名
  • 正確的企業(yè)郵箱格式seo百度發(fā)包工具
  • 網(wǎng)站備案 怎么建站廣州關(guān)鍵詞排名推廣
  • 電商網(wǎng)站怎么做權(quán)限控制潮州網(wǎng)絡(luò)推廣
  • 佛山智唯網(wǎng)站建設(shè)uc瀏覽網(wǎng)頁版進(jìn)入
  • 網(wǎng)站建設(shè)推廣怎么做抖音seo怎么做
  • 域名注冊(cè)好了如何做網(wǎng)站百度快速優(yōu)化推廣
  • 溧陽網(wǎng)站建設(shè)哪家好長(zhǎng)沙百度快速排名
  • 那個(gè)網(wǎng)站可以做數(shù)學(xué)題賺錢深圳整合營(yíng)銷
  • 鄭州網(wǎng)站推廣策世界杯32強(qiáng)排名
  • java網(wǎng)站開發(fā)需要什么軟件關(guān)鍵詞推廣軟件
  • 賣小程序賺錢嗎百家號(hào)優(yōu)化