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,?>这种类型。


                                         


你可能感兴趣的:(eclipse,框架,Hibernate,正则表达式,String,Module)