搭建新項目的步驟(一)

對於自己從沒有搭建過大型項目的菜菜,只是給大型項目做一些螺絲釘的擰緊工作,今天心血來潮,想剖析一下項目結構。下面就讓我記錄一下“庖丁”解牛,如果分析的不得當,還請拍磚。

從新建一個web工程開始,先從 WEBRoot目錄web.xml 開始,個人覺得這個是最基本的配置文件先讓我們來熟悉一下這裏面的配置屬性(parameter)。主要包括servlet、filter、listener等等。小弟也不懂,說實話我們從度娘裏面找一找文章,膜拜膜拜大俠們分享的文章。

關於web.xml詳細介紹,個人覺得還是這篇比較友愛:http://blog.csdn.net/guihaijinfen/article/details/8363839

我們還必須補充一點,加載順序與它們在 web.xml 文件中的先後順序無關。即不會因爲 filter 寫在 listener 的前面而會先加載 filter。最終得出的結論是:listener -> filter -> servlet

同時還存在着這樣一種配置節:context-param,它用於向 ServletContext 提供鍵值對,即應用程序上下文信息。我們的 listener, filter 等在初始化時會用到這些上下文中的信息,那麼 context-param 配置節是不是應該寫在 listener 配置節前呢?實際上 context-param 配置節可寫在任意位置,因此真正的加載順序爲:context-param -> listener -> filter -> servlet

對於某類配置節而言,與它們出現的順序是有關的。以 filter 爲例,web.xml 中當然可以定義多個 filter,與 filter 相關的一個配置節是 filter-mapping,這裏一定要注意,對於擁有相同 filter-name 的 filter 和 filter-mapping 配置節而言,filter-mapping 必須出現在 filter 之後,否則當解析到 filter-mapping 時,它所對應的 filter-name 還未定義。web 容器啓動時初始化每個 filter 時,是按照 filter 配置節出現的順序來初始化的,當請求資源匹配多個 filter-mapping 時,filter 攔截資源是按照 filter-mapping 配置節出現的順序來依次調用 doFilter() 方法的。

       可以看出,web.xml 的加載順序是:context-param -> listener -> filter -> servlet ,而同個類型之間的實際程序調用的時候的順序是根據對應的 mapping 的順序進行調用的。

回到我們的項目,我們主要看到的有filter主要是包括 字符編碼的過濾器、以及登錄之前的攔截;一個context的配置,關於Spring的配置文件地址的name:contextConfigLocation,value:classpath:applicationContext.xml; 還有一個基於Spring的listener和servlet的基本配置。這個就是菜菜的基本的web.xml配置了。

接下來,我們繼續跟着這個web.xml配置下去,從類路徑下加載Spring的配置文件,(context-param);這裏面我們給定了一個加載spring的xml(applicationContext.xml),這個文件,我們也來分析一下,需要注意的是這個文件位於SRC目錄下。

我們繼續來找度娘搜索一下applicationContext.xml的配置問題。

這篇文章基本介紹了需要配置的,也許對於不同的項目會有一些區別。http://blog.csdn.net/heng_ji/article/details/7022171

我們可以總結出來需要配置的幾個步驟:

1. 配置數據源

這裏我們採用外部文件  jdbc.properties 來存儲數據庫配置的係數,方便以後更改。


2. 配置Service

3. 配置事務管理器

4. 配置 sqlSessionFactory 以及對應的 Templeta

注意這裏引入了一個 papePlugin 插件,一個mybatis 的插件,這裏不作過多的分析,後面分析。

5. 爲Mybatis配置映射文件

基本上這些就是applicationContext.xml的配置了。這裏主要採用了約定優於配置的方式,所有的包都採用com.mf.xxx.dao、com.mf.xxx.service、com.mf.xxx.service.Impl;這樣就可以採用統一的通配符來尋找需要的文件了。





發佈了20 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章