Spring mvc+hibernate+freemarker(开源项目)
2015-06-12 12:06
387 查看
github查看项目地址 : https://github.com/zl19861124/codeFactory
本人只是将www.jeecms.com进行改变。目的是为了让大家更加了解jeecms,这样可以让大家学习。
长虽然我工作很忙没有闲暇时间,但我还是愿意抽时间分享优秀的项目给大家学习。
架构分层图解:
1.后台工程 包命名规则以com.jeecms.cms.(分为以下图层),项目架构entity,dao,mng,action,html等结构如下图所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/898bde4d9089394acf4fd9d9f4a0df7d.jpg)
2.上图结构图在项目分布图如下。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/6d6036dca8343665d6298af795d35e81.jpg)
3.数据库映射文件,下面有对象处在的包层及对象对应的数据库表。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/1093c46ed4b1a7b87adf46fc9a52b07d.jpg)
4.java bean配置在entity包下面,Base包下面都是直接与数据表关联的对象。在这里创建字段属性及对象对应的xml映射的表字段属性的get,set方法。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/88bc13c71ab086c324af9c9add9bf738.jpg)
5.我采用的spring mvc实现action,dao,manager依赖注入方法,所以需要将实现类在spring的配置文件中加载,统一首字母小写方式命名。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/24/fee5a147d1ed0ab9fdb9d61c255830cd.jpg)
6.Dao在spring文件中
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/b319a62ac8f92d74768dbaccf4a61fea.jpg)
7.业务层的具体实现通过spring的注解实现,事务也交给spring(有网友建议readonly开关设置)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/53080c5624dae6c1884f406aa50b6594.jpg)
8.action控制层是业务层与视图层的桥梁,这里需要申明业务层接口,当然spring已经按类型注解。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/1ad026bf67c33e284e3af6e473da7405.jpg)
9.资源文件是支持国际化的重要文件,这个也需要在springmvc中指定。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/05aaf16fa8fc0caec86d9791f15c36cd.jpg)
10.html的命名统一,上一次目录都是按照表名来定义。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/24/e2d7f53e65ef62539960226ccdcc5e0b.jpg)
开发流程详细介绍:
1.web.xml文件是工程运行的起点,需要在这里配置好所有的配置信息。引导页、spring、log4j,struts、hibernate、过滤器,监听、等等都是在这里配置好。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/225c6d6dcc0a9563a0c7dd93086a2e9c.jpg)
2.jeecms工程的访问目录及访问路径在web.xml中的配置
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/e0ed453785e6bd95eccc8ca379871d50.jpg)
3.资源文件配置,资源文件的key命名规则用(对象.功能.信息)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/2498a3ce2f60f15399d68d58df839a0b.jpg)
4.数据库连接文件jdbc.propertiy的配置同spring放置在同一个目录下面。
如果是单元就在classpath:config下面,如果是web.xml加载则在web-inf/config下面
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/01ea89af7e194ccf0c5d357687a9d198.jpg)
5.spring加载数据库jdbc文件,通过通配符来读出.properity文件的修正。 如果是单元就在classpath:config下面,如果是web.xml加载则在web-inf/config下面
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/4d45a27de91b73a908b4fa25b93012be.jpg)
6.jeecms自定义标签在spring中初始化,这些标签通过java实现。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/24/9318e827730b7f26e04b526a501c1f69.jpg)
7.springmvc在控制层返回的路径设置,jeecms_sys是action默认返回的目录。如果文件不在这个目录则无法找到相应的文件,并且配置了只能匹配.html文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/d342ac4360bd3fa16fcd1223060b5eee.jpg)
8.定义springmvc的view目录及登陆地址。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/593ca4abb7e434ed40dfb67422fad5f8.jpg)
9.在spring中配置好资源文件,使spring mvc在html文件能够读到资源文件信息。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/24/7c04fe4754edf038c13ae81903e5ae3b.jpg)
10.配置数据库hibernate的xml文件hbm.xml文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/7bf798de88eae05fc91a4749fb523667.jpg)
11.java对象与hbm.xml文件交换对象的bean对象创建。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/cc71ba5d9ea3d178ccfea605ec0100ed.jpg)
12.DAO层配置,这是直接与数据库找交道的层。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/c70d104f2d64e9572b6a22ccb11e582e.jpg)
13.业务层(service)对象配置,也就是常说的上通DAO层下达控制层的中间层
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/4979d5199bd1bba00b13671470892b3b.jpg)
14.控制层也就是action层,是业务层与view层的桥梁
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/4f467f6bd0d4fe95ceb1764b79dffd2a.jpg)
15.在spring文件中配置dao、service对象形成单例,以便在服务器启动的时候加载 。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/24/528b382e084281eb468ae959198eaa6b.jpg)
16.到这里通过单元测试类test类测试业务层与数据的操作,需要添加junit4到工程中。https://github.com/zl19861124/jeecms/blob/master/src/com/jeecms/cms/test/test.java
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/5215cd3d030c40ab6f311c0343644b0b.jpg)
17.好了到现在为止,springmvc业务代码就OK了。接下来开发html文件(数据显示用标签实现)。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/739b144d24983e8d98ccc687f0db664f.jpg)
18.编辑界面代码通过freemarker来实现。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/42a73173bac4739313050aca08e25d05.jpg)
19.到这里代码从数据库表到业务层到视图层的代码就完成了,接下来我们codeFactory发布到tomcat中去tomcat用户名是admin密码admin)
20.项目发布成功后访问地址 http://127.0.0.1:8088/codeFactory/jeeadmin/jeecms/index.do
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/1cda1a721c71d366543e28106b438339.jpg)
21.登陆成功后进入后台界面:强大的后台管理系统不需要一行代码就完成了。到这里一步相信很多人已经糊涂了,这个流程太复杂了
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/da502712ccb722e18aa695578a5a9feb.jpg)
22. 强大的功能制定,可以任由你选择。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/8e9501de749d46e21376d264287352e9.jpg)
23.当这一步项目就演示结束了,欢迎大家学习,严禁商用(消化理解jeecms后改进的,只希望更多人了解cms)。
本人只是将www.jeecms.com进行改变。目的是为了让大家更加了解jeecms,这样可以让大家学习。
长虽然我工作很忙没有闲暇时间,但我还是愿意抽时间分享优秀的项目给大家学习。
架构分层图解:
1.后台工程 包命名规则以com.jeecms.cms.(分为以下图层),项目架构entity,dao,mng,action,html等结构如下图所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/898bde4d9089394acf4fd9d9f4a0df7d.jpg)
2.上图结构图在项目分布图如下。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/6d6036dca8343665d6298af795d35e81.jpg)
3.数据库映射文件,下面有对象处在的包层及对象对应的数据库表。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/1093c46ed4b1a7b87adf46fc9a52b07d.jpg)
4.java bean配置在entity包下面,Base包下面都是直接与数据表关联的对象。在这里创建字段属性及对象对应的xml映射的表字段属性的get,set方法。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/88bc13c71ab086c324af9c9add9bf738.jpg)
5.我采用的spring mvc实现action,dao,manager依赖注入方法,所以需要将实现类在spring的配置文件中加载,统一首字母小写方式命名。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/24/fee5a147d1ed0ab9fdb9d61c255830cd.jpg)
6.Dao在spring文件中
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/b319a62ac8f92d74768dbaccf4a61fea.jpg)
7.业务层的具体实现通过spring的注解实现,事务也交给spring(有网友建议readonly开关设置)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/53080c5624dae6c1884f406aa50b6594.jpg)
8.action控制层是业务层与视图层的桥梁,这里需要申明业务层接口,当然spring已经按类型注解。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/1ad026bf67c33e284e3af6e473da7405.jpg)
9.资源文件是支持国际化的重要文件,这个也需要在springmvc中指定。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/05aaf16fa8fc0caec86d9791f15c36cd.jpg)
10.html的命名统一,上一次目录都是按照表名来定义。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/24/e2d7f53e65ef62539960226ccdcc5e0b.jpg)
开发流程详细介绍:
1.web.xml文件是工程运行的起点,需要在这里配置好所有的配置信息。引导页、spring、log4j,struts、hibernate、过滤器,监听、等等都是在这里配置好。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/225c6d6dcc0a9563a0c7dd93086a2e9c.jpg)
2.jeecms工程的访问目录及访问路径在web.xml中的配置
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/e0ed453785e6bd95eccc8ca379871d50.jpg)
3.资源文件配置,资源文件的key命名规则用(对象.功能.信息)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/2498a3ce2f60f15399d68d58df839a0b.jpg)
4.数据库连接文件jdbc.propertiy的配置同spring放置在同一个目录下面。
如果是单元就在classpath:config下面,如果是web.xml加载则在web-inf/config下面
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/01ea89af7e194ccf0c5d357687a9d198.jpg)
5.spring加载数据库jdbc文件,通过通配符来读出.properity文件的修正。 如果是单元就在classpath:config下面,如果是web.xml加载则在web-inf/config下面
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/4d45a27de91b73a908b4fa25b93012be.jpg)
6.jeecms自定义标签在spring中初始化,这些标签通过java实现。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/24/9318e827730b7f26e04b526a501c1f69.jpg)
7.springmvc在控制层返回的路径设置,jeecms_sys是action默认返回的目录。如果文件不在这个目录则无法找到相应的文件,并且配置了只能匹配.html文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/d342ac4360bd3fa16fcd1223060b5eee.jpg)
8.定义springmvc的view目录及登陆地址。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/593ca4abb7e434ed40dfb67422fad5f8.jpg)
9.在spring中配置好资源文件,使spring mvc在html文件能够读到资源文件信息。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/24/7c04fe4754edf038c13ae81903e5ae3b.jpg)
10.配置数据库hibernate的xml文件hbm.xml文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/7bf798de88eae05fc91a4749fb523667.jpg)
11.java对象与hbm.xml文件交换对象的bean对象创建。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/cc71ba5d9ea3d178ccfea605ec0100ed.jpg)
12.DAO层配置,这是直接与数据库找交道的层。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/c70d104f2d64e9572b6a22ccb11e582e.jpg)
13.业务层(service)对象配置,也就是常说的上通DAO层下达控制层的中间层
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/4979d5199bd1bba00b13671470892b3b.jpg)
14.控制层也就是action层,是业务层与view层的桥梁
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/4f467f6bd0d4fe95ceb1764b79dffd2a.jpg)
15.在spring文件中配置dao、service对象形成单例,以便在服务器启动的时候加载 。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/24/528b382e084281eb468ae959198eaa6b.jpg)
16.到这里通过单元测试类test类测试业务层与数据的操作,需要添加junit4到工程中。https://github.com/zl19861124/jeecms/blob/master/src/com/jeecms/cms/test/test.java
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/5215cd3d030c40ab6f311c0343644b0b.jpg)
17.好了到现在为止,springmvc业务代码就OK了。接下来开发html文件(数据显示用标签实现)。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/739b144d24983e8d98ccc687f0db664f.jpg)
18.编辑界面代码通过freemarker来实现。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/42a73173bac4739313050aca08e25d05.jpg)
19.到这里代码从数据库表到业务层到视图层的代码就完成了,接下来我们codeFactory发布到tomcat中去tomcat用户名是admin密码admin)
20.项目发布成功后访问地址 http://127.0.0.1:8088/codeFactory/jeeadmin/jeecms/index.do
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/1cda1a721c71d366543e28106b438339.jpg)
21.登陆成功后进入后台界面:强大的后台管理系统不需要一行代码就完成了。到这里一步相信很多人已经糊涂了,这个流程太复杂了
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/da502712ccb722e18aa695578a5a9feb.jpg)
22. 强大的功能制定,可以任由你选择。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/8e9501de749d46e21376d264287352e9.jpg)
23.当这一步项目就演示结束了,欢迎大家学习,严禁商用(消化理解jeecms后改进的,只希望更多人了解cms)。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201304/17/2ce393a3a9916b536ffafb485dc815b7.jpg)
相关文章推荐
- Java项目如何记录日志
- Android项目使用Eclipse进行单元测试
- Java代理与动态代理
- java正则表达式处理HTML标签
- 在eclipse、myeclipse中快速安装svn组件
- java解析xml字符串(用dom4j) (转载)
- java 用BASE64 进行加密 解密
- Java_解决java.security.cert.CertificateException: Certificates does not conform to algorithm constraints
- Java并发框架Executor学习笔记
- struts2利用xwork进行校验时,报错ognl.NoSuchPropertyException
- java中的多态
- java客户端调用webservice
- javabean总结
- quartz CronExpression表达式
- Java源码分析之HashMap
- Java中字符串比较时==和equals的区别
- java中判断数字带小数点后取两位
- MyEclipse设置默认注释的格式
- 解决android eclipse导入项目时buildpath异常
- Java 异步处理简单实践