今天是劉小愛自學(xué)Java的第100天透敌。
感謝你的觀看,謝謝你踢械。
話不多說酗电,開始今天的學(xué)習(xí):
學(xué)Java的第100天,正好開始學(xué)習(xí)做項(xiàng)目了内列,不得不說還是蠻巧合的撵术。
事先說明:該項(xiàng)目還未涉及到SSM這些主流框架的學(xué)習(xí)。
學(xué)習(xí)流程是:先將該項(xiàng)目做出來话瞧,再學(xué)習(xí)主流的各種框架嫩与,并將該項(xiàng)目使用框架優(yōu)化。
本項(xiàng)目來源于某培訓(xùn)機(jī)構(gòu)交排,并且自己也對其擁有版權(quán)使用權(quán)划滋。
因?yàn)榭紤]到會有打廣告的嫌疑,故項(xiàng)目練習(xí)中對于項(xiàng)目本身并不做過多的介紹埃篓。
主要是自己做項(xiàng)目時(shí)的一些知識點(diǎn)說明以及記錄遇到各種bug后的解決過程处坪。
今天主要是關(guān)于項(xiàng)目環(huán)境的搭建。
一架专、項(xiàng)目開發(fā)流程
這塊的知識點(diǎn)稍稍做一個了解即可同窘。
不然去面試連一些基本開發(fā)流程都不知道,面試官也就知道你其實(shí)一點(diǎn)經(jīng)驗(yàn)都沒有了部脚。
完整地開發(fā)一個Java項(xiàng)目一般都會經(jīng)歷如下幾個階段想邦,畫個流程圖:
項(xiàng)目立項(xiàng):確定需要做某個項(xiàng)目。
需求階段:《需求說明書》說明項(xiàng)目的需求委刘。
概要設(shè)計(jì)階段:《概要設(shè)計(jì)說明書》涉及技術(shù)選型和數(shù)據(jù)庫設(shè)計(jì)階段丧没。
詳細(xì)設(shè)計(jì)階段:《詳細(xì)設(shè)計(jì)說明書》涉及業(yè)務(wù)要實(shí)現(xiàn)的具體細(xì)節(jié)。
編碼階段:程序員寫代碼--單元測試--模塊測試---聯(lián)測(程序員在開發(fā)環(huán)境自己測試)锡移。
測試組測試:《測試報(bào)告》呕童。
公測階段:程序員,測試人員罩抗,真實(shí)用戶拉庵。
發(fā)布項(xiàng)目:項(xiàng)目正式上線灿椅。
項(xiàng)目維護(hù)以及二次開發(fā)套蒂。
以上就是對于項(xiàng)目流程的一個說明钞支,有一些業(yè)內(nèi)的術(shù)語還是要知道的。
比如說詳設(shè)操刀,就是指詳細(xì)設(shè)計(jì)說明書烁挟,如果完全都不知道的話就會很尷尬。
二骨坑、搭建項(xiàng)目環(huán)境
創(chuàng)建一個maven工程撼嗓,關(guān)于其步驟在前天詳細(xì)學(xué)習(xí)過,一定要對其滾瓜亂熟:
設(shè)定打包方式為war包欢唾、配置webapp目錄以及web.xml文件且警。
配置好后檢查自己的項(xiàng)目結(jié)構(gòu)目錄是否正確。
導(dǎo)入靜態(tài)資源
將靜態(tài)資源導(dǎo)入到項(xiàng)目的webapp目錄下:
右鍵webapp礁遣,找到Show in Explorer點(diǎn)擊可以進(jìn)入項(xiàng)目所在的文件夾頁面斑芜。
將靜態(tài)資源復(fù)制進(jìn)該文件夾即可,如果是直接復(fù)制到IDEA中祟霍,資源過多時(shí)會非承油罚卡。
這些資源也就是前端學(xué)的css沸呐,js相關(guān)醇王,一般來說,不用后臺開發(fā)人員自己寫崭添。
導(dǎo)入依賴:
這個昨天也詳細(xì)說明過寓娩,不再贅述。
一般來說關(guān)于項(xiàng)目的技術(shù)選型都是由架構(gòu)師來決定的呼渣,用哪些依賴用什么版本根暑,會有說明。
導(dǎo)入配置文件:
將配置文件復(fù)制到resource資源目錄中徙邻。
該配置文件是和數(shù)據(jù)庫相關(guān)的排嫌,所以一定要與自己的數(shù)據(jù)庫屬性相對應(yīng)。
很多時(shí)候數(shù)據(jù)庫里的數(shù)據(jù)無法訪問缰犁,可能就是因?yàn)榕渲梦募]有寫對的緣故淳地。
三、導(dǎo)入數(shù)據(jù)庫文件
打開數(shù)據(jù)庫可視化工具Navicat帅容,創(chuàng)建數(shù)據(jù)庫liuxiaoai_project01颇象。
并選擇對應(yīng)的字符集和排序規(guī)則。
這不用多說并徘,數(shù)據(jù)庫最基本的操作遣钳,創(chuàng)建好之后,有時(shí)會需要我們自己設(shè)計(jì)表結(jié)構(gòu)麦乞。
如何設(shè)計(jì)表呢蕴茴?
根據(jù)前端頁面的屬性名來確定表中的字段劝评。
當(dāng)然我這邊初學(xué)項(xiàng)目階段,就直接使用項(xiàng)目中提供的各種資源就好了倦淀。
導(dǎo)入sql文件的方法:
選擇對應(yīng)的數(shù)據(jù)庫蒋畜,右鍵點(diǎn)擊運(yùn)行SQL文件。
在彈出的選項(xiàng)卡中添加文件撞叽,找到項(xiàng)目資源中提供的SQL文件導(dǎo)入即可姻成。
其實(shí)在Navicat中也是可以直接編寫sql語句的,但如果sql語句很多愿棋,直接編寫運(yùn)行時(shí)有可能卡死科展。
四、導(dǎo)入Java相關(guān)類
前面學(xué)習(xí)數(shù)據(jù)庫的時(shí)候我們就知道了:
在Java中糠雨,一個類可以對應(yīng)數(shù)據(jù)庫中的一張表辛润,所以有多少張表就對應(yīng)多少個Java實(shí)體類。
當(dāng)然除了對應(yīng)數(shù)據(jù)庫的實(shí)體類外還有公共類和工具類這些见秤,詳細(xì)說下Java項(xiàng)目結(jié)構(gòu):
①common包:存放通用代碼砂竖,也就是公共類。
②dao包:三層架構(gòu)中的數(shù)據(jù)持久層鹃答。
③model包:和數(shù)據(jù)庫對應(yīng)的實(shí)體類乎澄,也可以叫bean。
④service包:三層架構(gòu)中的業(yè)務(wù)邏輯層测摔。
⑤utils包:各種需要使用到的工具類置济。
⑤web包:三層架構(gòu)中的表現(xiàn)層。
對于Java來說锋八,主要是對②④⑥中的編寫代碼浙于,這也是需要重點(diǎn)學(xué)習(xí)的地方,無外乎就是:
如何將數(shù)據(jù)返回給前端頁面挟纱?
如何編寫具體的業(yè)務(wù)邏輯羞酗?
如何訪問數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)?
至于前端頁面的渲染紊服,本來是交給前端做的檀轨。
但學(xué)習(xí)階段,我總不可能去找一個做前端的來陪自己練習(xí)欺嗤,所以前端代碼還是得自己寫参萄。
最后
謝謝你的觀看。
如果可以的話煎饼,麻煩幫忙點(diǎn)個贊讹挎,謝謝你。