1.前言

 之前都是在現(xiàn)有框架下進(jìn)行寫(xiě)代碼或者總是看一些別人的架構(gòu),總會(huì)眼高手低。于是打算自己完整的走一遍流程,同時(shí)把所遇到的問(wèn)題,思考的問(wèn)題記下來(lái),供大家參考。由于是工作年限不高,屬于新手,不足之處還請(qǐng)各位大牛指正。

 項(xiàng)目選用Spring為基礎(chǔ)框架,由于目前項(xiàng)目中采用的是Hibernate(在多表關(guān)聯(lián)查詢方面以及復(fù)雜的統(tǒng)計(jì)計(jì)算方面,同時(shí)要兼顧性能的時(shí)候吃了不少苦頭),所以這里采取Mybatis做持久化框架(沒(méi)實(shí)戰(zhàn)搭建過(guò)),Spring MVC框架。在權(quán)限控制方面現(xiàn)有項(xiàng)目中采用的是shiro(為了學(xué)習(xí),這里使用spring security)。其他的細(xì)節(jié)問(wèn)題會(huì)在下面各小節(jié)中敘述。

 另說(shuō)明一點(diǎn)的是操作系統(tǒng)是mac。

 github項(xiàng)目源碼在https://github.com/sjlian/sjlian 歡迎clone并提出意見(jiàn)。

2. 創(chuàng)建mvn項(xiàng)目、完善目錄結(jié)構(gòu)

  首先安裝和配置環(huán)境,主要包括jdk、mysql、maven等,其他如redis、nginx、ActiveMQ等在初始版本還暫時(shí)沒(méi)上傳和使用。這些入門知識(shí)不再贅述。

  在idea上新建一個(gè)mvn項(xiàng)目,然后有一個(gè)create from archetype,里面有很多選項(xiàng),于是有個(gè)疑問(wèn)到底用哪個(gè)呢?遂逐一查看名字,看到mvn-archetypr-webapp,聽(tīng)名字就覺(jué)得和自己的預(yù)期是一樣的啊,于是果斷選擇。期間又試了下其他的各個(gè)archetype,發(fā)現(xiàn)這這是一個(gè)模板,可以根據(jù)自己需要選擇,也可以默認(rèn)缺省的。這里附上mvn官方標(biāo)準(zhǔn)化的目錄結(jié)構(gòu)如下圖:

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營(yíng)銷培訓(xùn)

 一個(gè)好的程序員都善于用命令行的方式解決問(wèn)題,于是思考怎么用mvn命令行創(chuàng)建項(xiàng)目。最簡(jiǎn)單的方式就是mvn archetype:generate,這個(gè)命令是默認(rèn)的 archetype,如果需要生成特定模板的項(xiàng)目呢?從maven的Repository里查找arche types發(fā)現(xiàn)有幾百個(gè),我們平時(shí)用的也就那么幾個(gè),由于太多就變得很不方便起來(lái),于是搜索資料,查到 http://maven.40175.n5.nabble.com/archetype-catalog-xml-location-archetype-crawl-versus-archetype-generate-td113741.html 

  seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營(yíng)銷培訓(xùn)

  完善目錄結(jié)構(gòu)大致如上圖(是demo最終版本),這個(gè)時(shí)候只需要在java目錄下新建幾個(gè)包,進(jìn)行分層,使項(xiàng)目結(jié)構(gòu)變得清晰。

  common主要放置一些通用的非工具類,如exception相關(guān),結(jié)果相關(guān),攔截器,servlet,VO類等。

  Controller、DAO、model、service顧名思義,分別是控制層、持久層、數(shù)據(jù)模型層、業(yè)務(wù)處理層。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式