2016/5/21

[maven 4] 建立 struts2+Spring+Mybatis web專案


  • 環境介紹
    • struts2 2.3.28.1
    • Spring 3.2.17
    • Mybatis 3.2.3
  • 照著之前的做法 maven archetype  建一個SpringApp (已改為 SSHBaseApp , 這邊名稱用SSH為錯誤的 , 因為並非使用Hibernate , 本篇使用MyBatis ) ,

    如下圖


  • 過去不管是spring 還是 hibernate這類framework ,  我們都須手動下載 jar檔 , 還需要下載相依的 jar 檔 , 譬如 log 的 jar 檔 , 否則無法deploy , 近來發展逐漸有 ant maven gradle這類工具幫助我們處理這些套件相依性的問題 , 實為方便
  • 灣岸建置好後先至 spring的官網 點選 quick start 



  • 本次建立使用 3.2.17版 , 右上方可看到官方堤共 maven 與 gradle的來源 , 將下方複製貼至SpringApp的pom.xml裡



  • 貼入pom.xml稍等1分鐘後即完成 , spring 還有一個很重要的 application.xml , 不過在待之後的章節才會有較詳細的介紹




  • 接著在pom.xml 貼入struts2的設定







  • 接著在pom.xml 貼入mybatis的設定





  • 以上完成後 , 等於是已經匯入所需的jar檔 , 再來就開始分別進行config設定


  • struts.xml設定檔 , maven有其目錄結構 , resource資料夾是放一些設定檔的位置 , 如果沒有此資料夾 , 自己手動新增即可 , struts.xml 預設是放在  src 目錄底下 , 當web.xml 讀取到需要匯入struts設定時 , 便會去src 目錄找 struts.xml , 但因maven 規範已有個resources 目錄 , 將 struts.xml檔放至該目錄下 , 當jboss 啟動時是找的到 struts,xml的




  • 告訴 web.xml 有struts需要匯入

  • 在struts.xml 設定url request時該如何處理

  • 啟動jboss , 在網址輸入index , 測試是否成功




  • spring的設定檔預設位置如下
    • standalone
      • 無預設檔名
      • classpath的 root 
    • web
      • 預設檔名 : application.xml
      • 預設目錄 : WEB-INF
  • 因為在之前的pom.xml 導入的spring設定不足  , 現在實作的是web , 因此還需要加入一條設定如下 , 並且加了一個參數方便管理





  • 加完pom.xml , 需要在專案上右鍵 maven->update project  , 如果發生以下錯誤 可以參考此連結 , 到local repository找到該套件, 將*.lastUpdated 檔刪除  , 這樣重新update project , 就可以順利下載該套件 jar 檔
    • The container 'Maven Dependencies' references non existing library '${groupid}/${artifactid}-${version}.jar'
  • 增加applicationContext.xml  放置於resources目錄, 此為spring的設定檔 




  • 接著告訴web.xml 有spring , 前面提到 spring的預設位置 , 但因為maven 我們放在resources 目錄 , 所以需要加上<context-param>.......</context-param>這段



  • 啟動jboss查看console , spring是否成功 







  • MyBatis屬於ORM(Object relation mapping)的一種 , Hibernate也同屬之 , 精神就是
    •  1個類別(即)對一個table , 一個物件對一筆資料 
  • MyBatis的設定檔為 mybatis-config.xml , 裡面主要包含三類
    • 資料庫連線 (本篇由spring處理)
    • 需匯入的xml mapping檔 (即vo與table之對應關係)
    • 其他設定
  • 在resources加入mybatis-config.xml檔案 , 不做任何設定
  • generatorConfig.xml 協助產生所需的類別 , 之後再介紹







  • 以上三個framework設置完畢後 , 至local端的repository資料夾下會發現maven 幫我們把所有需要的 jar 都下載好了!!!




沒有留言:

張貼留言

test2