1.前言

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

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

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

 github項目源碼在https://github.com/sjlian/sjlian 歡迎clone并提出意見。

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

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

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

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

 一個好的程序員都善于用命令行的方式解決問題,于是思考怎么用mvn命令行創(chuàng)建項目。最簡單的方式就是mvn archetype:generate,這個命令是默認(rèn)的 archetype,如果需要生成特定模板的項目呢?從maven的Repository里查找arche types發(fā)現(xiàn)有幾百個,我們平時用的也就那么幾個,由于太多就變得很不方便起來,于是搜索資料,查到 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ò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

  完善目錄結(jié)構(gòu)大致如上圖(是demo最終版本),這個時候只需要在java目錄下新建幾個包,進(jìn)行分層,使項目結(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),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式