今天我为大家做了一个 spring3 MVC 的例子,希望能对刚接触spring的朋友有所帮助。该流程属于大型项目的流程,涉及的知识比较希望大家耐心学习。
企业级项目实战(带源码升级版本)地址:http://zz563143188.iteye.com/blog/1845469
比特币,区块链白皮书,python,java,oracle,mysql,Spring,Hibernate开发资料下载地址: 百度网盘新规需要注册登录后才能下载查看 https://pan.baidu.com/share/home?uk=4076915866&suk=r9XiePUxwkUzXtmENt00Sw&view=share#category/type=0
项目源码请下载codeFactory20130321,lib20130321LI两个文件,
1.本工程内容较多,可能需要设计编译目录: http://zz563143188.iteye.com/blog/1826517
2.调试网页建议页面调试工具firebug http://zz563143188.iteye.com/blog/1825978
3.可以使用Spring mvc 单元测试 http://zz563143188.iteye.com/blog/1827454
4.Spring mvc整合hibernate http://zz563143188.iteye.com/blog/1831561
5.日志log4j配置springMvc例子 http://zz563143188.iteye.com/blog/1825387
6.由于webroot下面的内容很多,设置不编译和验证 http://zz563143188.iteye.com/blog/1826517
7. 根据jar生成源码工具 http://zz563143188.iteye.com/blog/1826988
8.java常用环境变量设置 http://zz563143188.iteye.com/blog/1827884
9.比较全的OA系统功能模块列表 http://zz563143188.iteye.com/blog/1860248
10.需求文档管理工具 http://zz563143188.iteye.com/blog/1830393
11.PowerDesinger逆向数据库物理模型及关系图 http://zz563143188.iteye.com/blog/1829068
12.发散性思维工具(思维导图)推荐 http://zz563143188.iteye.com/blog/1831562
13.推荐一款好用的笔记管理软件(Evernote) http://zz563143188.iteye.com/blog/1830965
14.数据库生成数据字典工具(PDMREAD)图解 http://zz563143188.iteye.com/blog/1828557
15.代码生动生成工具(POJO,DAO,Service,action)等层代码http://zz563143188.iteye.com/blog/1819765
16.spring3,struts2,hibernate,junit,设计模式视频教程下载 http://zz563143188.iteye.com/blog/1839517
17.UML 的九种模型图 http://zz563143188.iteye.com/blog/1841234
http://zz563143188.iteye.com/blog/1841225
18.Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间
http://zz563143188.iteye.com/blog/1841239
19.Java面试宝典2013版 http://zz563143188.iteye.com/blog/1843725
20.Java技术体系图(从程序员到CTO各阶段技 http://zz563143188.iteye.com/blog/1877266
21.百万级访问网站前期的技术准备 http://zz563143188.iteye.com/blog/1842135
22.关于一个大型web系统架构设计和技术选型的讨论 http://zz563143188.iteye.com/blog/1842128
23.高性能网站性能优化与系统架构 http://zz563143188.iteye.com/blog/1842129
24.java23种模式详解 (带源码有图) http://zz563143188.iteye.com/blog/1847029
25.软件开发文档范例 http://zz563143188.iteye.com/blog/1835305
26.软件开发模式对比(瀑布、迭代、螺旋、敏捷) http://zz563143188.iteye.com/blog/1843691
27.我心目中最好的框架组合 http://zz563143188.iteye.com/blog/1867767
28. 全国(大学)高等教育各学科视频教学全集 http://zz563143188.iteye.com/blog/1823042
更多高级应用(项目构架、工程、文档、研发管理) http://zz563143188.iteye.com/
github查看项目地址 : https://github.com/zl19861124/codeFactory
本人只是将www.jeecms.com进行改变。目的是为了让大家更加了解jeecms,这样可以让大家学习。
长虽然我工作很忙没有闲暇时间,但我还是愿意抽时间分享优秀的项目给大家学习。
架构分层图解:
1.后台工程 包命名规则以com.jeecms.cms.(分为以下图层),项目架构entity,dao,mng,action,html等结构如下图所示。
2.上图结构图在项目分布图如下。
3.数据库映射文件,下面有对象处在的包层及对象对应的数据库表。
4.java bean配置在entity包下面,Base包下面都是直接与数据表关联的对象。在这里创建字段属性及对象对应的xml映射的表字段属性的get,set方法。
5.我采用的spring mvc实现action,dao,manager依赖注入方法,所以需要将实现类在spring的配置文件中加载,统一首字母小写方式命名。
6.Dao在spring文件中
7.业务层的具体实现通过spring的注解实现,事务也交给spring(有网友建议readonly开关设置)
8.action控制层是业务层与视图层的桥梁,这里需要申明业务层接口,当然spring已经按类型注解。
9.资源文件是支持国际化的重要文件,这个也需要在springmvc中指定。
10.html的命名统一,上一次目录都是按照表名来定义。
开发流程详细介绍:
1.web.xml文件是工程运行的起点,需要在这里配置好所有的配置信息。引导页、spring、log4j,struts、hibernate、过滤器,监听、等等都是在这里配置好。
2.jeecms工程的访问目录及访问路径在web.xml中的配置
3.资源文件配置,资源文件的key命名规则用(对象.功能.信息)
4.数据库连接文件jdbc.propertiy的配置同spring放置在同一个目录下面。
如果是单元就在classpath:config下面,如果是web.xml加载则在web-inf/config下面
5.spring加载数据库jdbc文件,通过通配符来读出.properity文件的修正。 如果是单元就在classpath:config下面,如果是web.xml加载则在web-inf/config下面
6.jeecms自定义标签在spring中初始化,这些标签通过java实现。
7.springmvc在控制层返回的路径设置,jeecms_sys是action默认返回的目录。如果文件不在这个目录则无法找到相应的文件,并且配置了只能匹配.html文件。
8.定义springmvc的view目录及登陆地址。
9.在spring中配置好资源文件,使spring mvc在html文件能够读到资源文件信息。
10.配置数据库hibernate的xml文件hbm.xml文件
11.java对象与hbm.xml文件交换对象的bean对象创建。
12.DAO层配置,这是直接与数据库找交道的层。
13.业务层(service)对象配置,也就是常说的上通DAO层下达控制层的中间层
14.控制层也就是action层,是业务层与view层的桥梁
15.在spring文件中配置dao、service对象形成单例,以便在服务器启动的时候加载 。
16.到这里通过单元测试类test类测试业务层与数据的操作,需要添加junit4到工程中。https://github.com/zl19861124/jeecms/blob/master/src/com/jeecms/cms/test/test.java
17.好了到现在为止,springmvc业务代码就OK了。接下来开发html文件(数据显示用标签实现)。
18.编辑界面代码通过freemarker来实现。
19.到这里代码从数据库表到业务层到视图层的代码就完成了,接下来我们codeFactory发布到tomcat中去tomcat用户名是admin密码admin)
20.项目发布成功后访问地址 http://127.0.0.1:8088/codeFactory/jeeadmin/jeecms/index.do
21.登陆成功后进入后台界面:强大的后台管理系统不需要一行代码就完成了。到这里一步相信很多人已经糊涂了,这个流程太复杂了
22. 强大的功能制定,可以任由你选择。
23.当这一步项目就演示结束了,欢迎大家学习,严禁商用(消化理解jeecms后改进的,只希望更多人了解cms)。
24、感谢 www.jeecms.com提供了如何优秀的开源项目,以后还会推出权限、流程审批、maven、svn、代码自动生成(从建表到业务层代码界面显示,不需要写一行代码就自动实现)。