Snow Frame

   Snow框架是一種爲了實現“無配置化”項目運作框架。

  該框架綁定了一些東西:

1、頁面只能使用freemaker

2、持久層只能使用hibernate

3、容器管理使用Google Guice

還支持aspectj的使用。不過使用了aspectj時,必須使用其他的打包或者編譯工具,如meven和ant等工具。不能在eclipse裏直接編譯。Snow網站上有相關的結構圖和一些簡單的例子。


   使用Snow框架開發web項目:


1、環境:eclipse+tomcat+meven+mysql


2、每個使用Snow的項目,都有一個默認的Module。目錄結構應該是這樣:

  項目+++++

             --------src

                -----WEB-INF

                             -------lib

                             ------snow

                                        --------mods(Module的父目錄)

                                                        --------demo(默認的Module)

                                                                    ----------parts (存放相關頁面)

                                        ---------application.properties(數據庫的配置和默認Module都在這裏配置,比如snow.defaultWebModuleName = demo)

                           -------web.xml


3、snow框架方法配置主要通過註解的方式來配置的,不通過配置文件。方法的配置主要有兩種方法:

   (1)@WebAction 

          通過方法名來調用

    (2)、@WebModel()

          通過路徑匹配,主要有以下幾種方式:

            @WebModel(startWith="/home")表示路徑以項目下的/home開始的路徑的請求都會執行這個方法;

            @WebModel(matchs="/home") 表示請求的路徑爲/home才執行該方法

       注:路徑的表示可使用正則表達式


4、前後臺數據的交互

     也大致分爲兩種:

    在@WebAction中,方法可以通過@WebParam("name")來獲取前臺名爲name的變量,要返回值到前臺,則只需返回一個Map即可,前臺通過m.name即可獲取

   在@WebModel中,方法可以通過和上面一樣的方法來獲取變量,也可以通過請求的路徑來獲取變量,如:   在 @WebModel(matchs="/home")配置下的方      法@WebPath(1) String name,則表示該路徑的home後的第一個“/”到下一個“/”之間的值,因爲    @WebModel方法參數可以直接使用一個Map<String, Object> m的變量,這個    變量是前後臺公用的,如需返回值時只需將要返回的值放在這個Map裏即可。

注:在Snow框架裏的Map只能使用<String,?>這種類型。


                                         


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章