[從零構(gòu)建電商項目]從用戶注冊開始(上)

前言

接上一篇《大型網(wǎng)站架構(gòu)演變》,從本篇開始煞赢,將從0到1構(gòu)建一個單體的電商項目抛计,并以此為基礎(chǔ),從集群到分布式照筑,再到微服務(wù)吹截,進(jìn)行逐步演變。我們先從用戶注冊入手凝危,從頭開始分析波俄,并搭建項目。下面我們開始吧蛾默。

前后端分離開發(fā)模式

在早期傳統(tǒng)的Java Web開發(fā)的時候懦铺,我們的前端代碼(html/css/js)和后端代碼(Java)是耦合到一起的,都在一個工程里面支鸡,這樣導(dǎo)致前后端開發(fā)人員在協(xié)作時冬念,并不太方便的。另外牧挣,這種模式下急前,web容器(如tomcat)還承擔(dān)了頁面的渲染工作,比如JSP就是由web容器渲染處理成html返回給客戶端的瀑构,這樣的話裆针,實際上一旦網(wǎng)站用戶、流量上去后,web容器在這方面壓力會很大的据块。

我們采用前后端分離開發(fā)模式的話码邻,那么,前端是一套工程代碼另假,后端是一套工程代碼像屋,兩者是沒有耦合到一起的,是分開部署的边篮。一般己莺,我們會把前端部署到高性能反向代理服務(wù)器Nginx上(早期可能是Apache上,靜態(tài)資源服務(wù)器)戈轿,前端會通過restful api來和后端通信凌受,以JSON這種格式來進(jìn)行數(shù)據(jù)傳輸。這種模式思杯,非常利于前后端開發(fā)人員的分工胜蛉,提高了協(xié)作的效率,而且我們只需要維護一套后端代碼色乾,可以為多種client提供服務(wù)誊册。

Maven構(gòu)建聚合工程

我們將采用主流的方式,通過Maven來管理項目暖璧,并對項目進(jìn)行分層設(shè)計案怯,構(gòu)建聚合工程。

在Idea中完成maven工程聚合(api->service->mapper->pojo->common):

(聚合之后澎办,別忘記安裝嘲碱,建立依賴關(guān)系,也就是install喔~)

數(shù)據(jù)庫建模

我們不用急于編寫代碼局蚀,應(yīng)該分析清楚業(yè)務(wù)后麦锯,進(jìn)行數(shù)據(jù)庫設(shè)計。一般情況下琅绅,我們并不會直接在數(shù)據(jù)庫中進(jìn)行設(shè)計离咐,而是利用一些數(shù)據(jù)庫建模工具,如PowerDesigner奉件、ERWin等,我這里會使用PDMan(開源昆著、國產(chǎn)县貌、漂亮、極簡)來進(jìn)行凑懂。

在設(shè)置好數(shù)據(jù)庫連接后煤痕,我們可以設(shè)計這樣一張users表。注意到,這里把主鍵id設(shè)置為字符串摆碉,而非自增的塘匣。是因為在前面一篇文章,我們提及過進(jìn)行分庫分表需要全局唯一id作為主鍵巷帝,因此我們在這里先這么處理忌卤,為以后打下伏筆。表設(shè)計好了后楞泼,我們利用建模工具驰徊,同步到mysql中。

這里我們可以發(fā)現(xiàn)PDMan有一個非常好用的功能堕阔,那就是可以記錄每次數(shù)據(jù)庫表結(jié)構(gòu)的變更記錄棍厂,類似于git的版本管理機制。

Mybatis 數(shù)據(jù)庫逆向生成工具

為了進(jìn)一步提高效率超陆,當(dāng)我們的數(shù)據(jù)庫表設(shè)計好了之后牺弹,我們可以利用MyBatis數(shù)據(jù)庫逆向生成工具來幫助我們自動生成一些文件,比如數(shù)據(jù)庫對應(yīng)的實體entity时呀,與之對應(yīng)的mapper.xml张漂,和相應(yīng)的接口映射類。

然后退唠,我們把自動生成的這些文件copy至項目中即可(需要依賴及配置)鹃锈。注意MyMapper文件,其實這是一個通用mapper瞧预。通俗點說屎债,通用Mapper是對單表的CRUD操作進(jìn)行了較為詳細(xì)的實現(xiàn),使得我們可以按照自己的需求選擇通用的方法垢油。

整合SpringBoot

依賴

啟動類

配置

小結(jié)

到這里盆驹,咱們已經(jīng)講述了前后端開發(fā)模式、Maven構(gòu)建聚合工程滩愁、數(shù)據(jù)庫建模躯喇、MyBatis逆向生成工具以及SpringBoot整合等相關(guān)話題。朋友們硝枉,夜已深了廉丽,本文就先到這里吧(詳情可以參見,我的公眾號:豐哲同學(xué))妻味。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末正压,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子责球,更是在濱河造成了極大的恐慌焦履,老刑警劉巖拓劝,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嘉裤,居然都是意外死亡郑临,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門屑宠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厢洞,“玉大人,你說我怎么就攤上這事侨把∠洌” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵秋柄,是天一觀的道長获枝。 經(jīng)常有香客問我,道長骇笔,這世上最難降的妖魔是什么钓瞭? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任怖辆,我火速辦了婚禮例朱,結(jié)果婚禮上丙笋,老公的妹妹穿的比我還像新娘。我一直安慰自己芦劣,他們只是感情好粗俱,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著虚吟,像睡著了一般寸认。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上串慰,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天偏塞,我揣著相機與錄音,去河邊找鬼邦鲫。 笑死灸叼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的庆捺。 我是一名探鬼主播古今,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼滔以!你這毒婦竟也來了沧卢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤醉者,失蹤者是張志新(化名)和其女友劉穎但狭,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撬即,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡立磁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了剥槐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唱歧。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖粒竖,靈堂內(nèi)的尸體忽然破棺而出颅崩,到底是詐尸還是另有隱情,我是刑警寧澤蕊苗,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布沿后,位于F島的核電站,受9級特大地震影響朽砰,放射性物質(zhì)發(fā)生泄漏尖滚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一瞧柔、第九天 我趴在偏房一處隱蔽的房頂上張望漆弄。 院中可真熱鬧,春花似錦造锅、人聲如沸撼唾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽倒谷。三九已至,卻和暖如春肺素,著一層夾襖步出監(jiān)牢的瞬間恨锚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工倍靡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留猴伶,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓塌西,卻偏偏與公主長得像他挎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子捡需,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容