JAVA-S2SH(全注解)
?
概述:基于struts2.23 + spring2.5.6 + hibernate3.6.4 +?hibernate-generic-dao1.0(除了spring,我整合的都是最新的GA包,hibernate-generic-dao是google项目库中一个开源的basedao,我灰常喜欢,因为我找不到更好更适合我的)
?
项目代码是基于eclipse3.6创建的,很简单,大家直接导入则可运行。
?
1.包结构,源码,测试用例,配置文件一目了然。每个功能模块都在modules包下做开发,配置文件统一在resource管理(基实也没多少配置文件,都用注解嘛)。
?
?
?
2.无论阅读哪个web项目代码,我都是先从web.xml开始,项目有什么东西一清二楚。
我这里将log4j监听放在第一,我想他应该能够从系统启动开启就能记录我的所有日志(求认证)。第二个监听是proxool数据库连接池,听说很高效,所以果断引入(引入步骤搞得复杂吧,我还重写了监听。一切为了稳定,也好扩展我某日喜欢加入动态切换数据源做准备。呵呵)。OpenSessionInView,我想如果你不喜欢可以摘掉,反正我很喜欢。Struts2指定了自定义的struts.xml文件位置,指定扫描注解的action路径。最后是proxool的可视化图形监控,很棒。
?
?
3.applicationContext.xml,我想下面注释得也比较清楚了,如果我写错了或理解错了希望指正。
?
4.hiberante配置所需的一些属性,指定方言,开始hibernate缓存等,后面还有一个c3p0的数据连接池属性。你们下载的代码里面,数据源方面我换成了c3p0,因为proxool我配置的是随web启动的,而我又不想改成随spring加载启动。所以我开发中注释掉proxool,以后上线再打开。?
6.struts.xml,你懂的。?
好了,下面我简单讲一下开发流程。?
在modules下建立模块,和相应的包(action,dao,model,service,util),比如我上面包结构的demo模块。
?
demo.java,model类,映射数据库中的表,每个model一张表,为了适应basedao,每个model还对应每个dao(不要觉得这是麻烦的)。jpa的注解,你们懂的,不解释。
?
?
?DemoActionTest,简单的测试用例,这里只是为了说明如何在这个框架里进行单元测试。所以我的目的达到了,简单吧。
?
?
测试表:?
?
?
?
?