zhjy工作记录之三--SpringMVC+ligerui项目结构

来源:互联网 发布:淘宝卖家怎么更改类目 编辑:程序博客网 时间:2024/05/17 00:17

        来zhjy两周了,下面是项目中用到的一些架构和项目中的目录结构。

        功能模块后台代码按功能名称分别存放在 com.zhjy包下,例如:公告管理模块,如下图


        绿色线框就是 公告管理模块 的后台代码存放位置,其中 dao、domain、service和web. controller包以及web. Controlle下的form是必须要有的,这里的例子没有将web. Controlle包分开放,在实际的开发中要分层次存放,如下图:


        包介绍

        dao、service和web. controller包以及web. Controlle下的form包的功能和主流框架中的功能是一样的,这里主要说明一下domain包,因为此项目页面表格中的表头不是向我们平时开发的那样在页面里通过<table>标签下的<th>来定义,这里我们采用的是另一种展现的方法,废话不说,结合截图说明:


        图中红框圈起的部分就是 公告管理 模块所需要的表头,这里的表头就是来自于其功能模块下 domian.hibernate下的实体类AnnouncementHibernate.java,如图:

        在这里很明显可以看出页面中的表头都是来自于AnnouncementHibernate.java中,但是AnnouncementHibernate.java中有 主键ID、状态和删除标志 字段为何没有显示呢?其中的奥妙就在于 hidden属性和visible属性:

         Hidden属性的可选值是false和true,默认是false(这里需要注意,默认不是true),当为false的时候,则此表头就会在页面展现出来,相反则显示出来

         visible属性的可选值是false和true,默认是true(这里需要注意,默认不是false),当为true的时候,则此表头就会在页面展现出来,但是右击表头时在弹出的复选窗口中可以取消选中将其隐藏,相反,如果是false是页面不会显示,但右击表头是,通过弹出的复选窗口将其选中可以调用出来,如下图:

注意:如果设置了hidden属性visible属性将失效,所以不会同时使用!还有 format属性是设置显示格式的

        讲到这里就又有问题了,难道这样就可以显示表头了吗?不需要配置吗?显然只是这样不能达到效果,但是我们用的不属于配置方式,应该叫做调用比较合适,那么如何调用呢?请看下图:

        看到上图中 1 处所指的AnnouncementController.java了吧,位置是在controller包下,同样是为了用来跳转的,如果我们想在页面显示我们所需要的表头,那么首先要定义 表格解析装置,如图中 2处 所指的位置 ,然后在3处 执行gridGen.parseColumHead(AnnouncementHibernate.class,request),其中参数AnnouncementHibernate.class就是我们所需要的表头文件,最后将其返回到页面即可。

        功能模块 前台页面根据模块新建相应的文件夹分别存放到MT\WebContent\mtdev\module\下,如 公告管理模块 存放位置为\MT\WebContent\mtdev\module\announcement,见下图:

         其他配置文件的存放与作用

         MTdatabase.properties文件

         项目的正常使用必须有数据库的支撑, MTdatabase.properties就是用来设置连接数据库所需要的信息,存放位置为:MT\src\conf\MTdatabase.properties,如图:

         项目中用到了hibernate,必然不会少了其配置文件,首先不同的模块都有自己特有hibernate实体类配置文件,例如 公告模块的 hibernate实体类配置文件就是hibernate.cfg.announcement.xml,注意其命名规则hibernate.cfg.模块名称.xml ,开发中请按次规则命名,其存放位置是在该功能模块的根目录下:/MT/src/com/zhjy/mtdev/announcement/hibernate.cfg.announcement.xml,如图红框处:

                   注意绿框位置,这里就是我们所需要配置的实体类,如果要开发的功能模块可能需要多个实体类,那么可以配置多个,如下图:


        有了实体类的配置文件后,那么就需要有“人”来管理,那么“他”就是applicationContext-hibernate.xml文件,因为它要管理所有的实体类配置文件,所以整个项目只有一个这样的文件,不会因为多个模块有多个这样的文件,所以它的位置只有一处,就是:\MT\src\conf\applicationContext-hibernate.xml,如下图:


        有了它,我们就可以把我们用到的实体类配置文件交给它管理,只要将需要的实体类配置文件进行配置即可,参照上图绿框中的内容。

         最后还有关于spring的配置文件

         首先说明的是,根据不同的功能模块会有不同的spring配置文件, 比如 公告管理模块 的spring配置文件为applicationContext-announcement.xml,注意命名规则,和hibernate的命名类似,这里需要说明的是,这一类的配置文件不会向我们前面讲到的按模块分别存放,而是统一都放到\MT\src\com\zhjy\security\spring\下,如下图


        其次,我们用的是springmvc,必然也不会少springmvc的配置文件,一个框架只有一个,所以存放位置也只有一处:\MT\src\conf\applicationContext-springmvc.xml,如下图:

关于树结构

         和其他的系统一样,本系统的树结构也是通过配置文件实现,只是我们的配置文件没有放到项目中,而是放到D:\MT_applications\MT\conf中的gea-menus-admin.xml文件中,打开文件就一目了然,如下图:

绿框的内容就是我们点击菜单所要调用的action。


了解加上做这个框架大概用了一周,第一周是用的这个架构,从来的第二周开始把我分配到了前台,前台的代码和后台用的是一套架构,唯一不一样的就是界面是普通的jsp,操作麻烦一些,但是简单一些,界面也不是用Hibernate方式配置出来的。整体上来说现在的工作都是一些繁琐的,重复性的工作。没有特别难的东西,但是在其中也学到了不少东西。



原创粉丝点击