基于Struts2,Spring4,Hibernate4框架的系统架构设计与示例系统实现
笔者在大学中迷迷糊糊地度过了四年的光景,心中有那么一点目标,但总感觉找不到发力的方向。
在四年间,尝试写过代码结构糟糕,没有意义的课程设计,尝试捣鼓过Android开发,尝试探索过软件工程在实际开发中的应用,尝试参与过.net的实际应用项目开发。
在经历了这些探索之后,我突然发现一些代码在实现业务功能的同时,还能保持优美的结构,这让我很着迷,有一种莫名其妙的兴奋感。
基于这个发现,我开始探寻这些代码拥有迷人魔力的原因,迷迷糊糊地又接触到了设计模式,系统架构设计的概念。
在大学的最后,我希望再一次对我感兴趣的东西作出任性的探索,于是我决定开始从头开始学习Java Web 的相关知识,再从Java Web 中衍生学习Struts2,Spring4,Hibernate4 这三个久负盛名的框架。借着毕业设计的契机,感受这三个框架迷人的地方到底在哪里?为什么这么多年过去了这三个框架的热度依然不减?采用这三个框架开发的系统的代码结构会是怎样?
于是便有了本篇博文,在探索的最后,示例系统虽然还有很多需要完善的地方,但实现的效果也还能够令笔者满意。笔者会将这篇博文分成7章与大家进行分享。
首先是需求分析,介绍笔者对需求分析的理解,以及笔者在需求分析中做了哪些工作,这些工作的完成的先后次序如何排列,每一项工作的意义何在。
接下来的是概要设计,介绍笔者如何在需求分析,以及对框架的认识下对系统进行了总体架构的设计,还有每个功能在该架构下是如何实现的。
再接下来的是详细设计,介绍笔者在概要设计中总结出来的接口,以及对各层次中类与类之间的依赖关系进行设计。
最后是系统的编码实现部分,这个部分笔者会再分为四个部分,分别是1、编码的准备,介绍笔者的开发环境,代码的目录结构和框架的整合步骤。2、表单的提交和数据的回显。3、图片的上传和展示。4、测试代码。
以下是每个部分的链接:
在这篇博文接近尾声之际,我要感谢@Eva老师,老师的一堂软件工程课程设计,让我重新认识了计算机软件实际开发的流程,以及后续的实践指导,可能真的打开了一扇新世界的大门。我要感谢互联网上的提供着各种学习资源的各位,因为在我探索的过程中所有的学习资源都来自于各位的无私奉献。为了向各位学习,笔者也写下这一系列的博文,向大家分享在这探索途中所收获到的认识。我要感谢我的母校,虽然这所学校就像我所做的示例系统一样,有很多的不足,但我也是在这所学校中成长起来的,这离不开全体教职工的努力,现实中完成每一件事都不容易,多一份理解,多一份宽容,多一份尊重。
最后,我希望这个系列的文章和代码能够使用在正确的用途上!
最后的最后,如果您觉得我完成的内容以及记录的文字确实写得不错,您也可以请我喝杯咖啡啊!哈哈!

基于Struts2,Spring4,Hibernate4框架的系统架构设计与示例系统实现的更多相关文章
- SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇
SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇 - 若明天不见 - 博客频道 - CSDN.NEThttp://blog.csdn.net/why_still_conf ...
- Maven+struts2+spring4+hibernate4的环境搭建
搭建Maven+struts2+spring4+hibernate4其实并不难!但开始弄的时候还是费了我好大的力气,老是出现这样那样的错误!好了,废话不多说,开始搭建开发环境. 一.Myeclipse ...
- NET ERP系统架构设计
解析大型.NET ERP系统架构设计 Framework+ Application 设计模式 我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应 ...
- 【原创】基于Docker的CaaS容器云平台架构设计及市场分析
基于Docker的CaaS容器云平台架构设计及市场分析 ---转载请注明出处,多谢!--- 1 项目背景---概述: “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交 ...
- vivo 全球商城:优惠券系统架构设计与实践
一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券 ...
- 基于token的多平台身份认证架构设计
基于token的多平台身份认证架构设计 1 概述 在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情. 随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N个客户端的格 ...
- PetShop的系统架构设计
<解剖PetShop>系列 一.PetShop的系统架构设计 http://www.cnblogs.com/wayfarer/archive/2007/03/23/375382.html ...
- petshop4.0 具体解释之中的一个(系统架构设计)
前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有很多.Net与J2EE之争,很多数据是从微软的PetShop和Sun的PetStore而来.这样的争论不可避免带有浓厚的 ...
- 图数据库 Nebula Graph 的数据模型和系统架构设计
Nebula Graph:一个开源的分布式图数据库.作为唯一能够存储万亿个带属性的节点和边的在线图数据库,Nebula Graph 不仅能够在高并发场景下满足毫秒级的低时延查询要求,而且能够提供极高的 ...
随机推荐
- android 透明状态栏方法及其适配键盘上推(一)
android的状态栏(statusBar)版本的差异化比较大.在android 4.4 以上和5.x可以设置状态栏背景颜色,但是不可以设置状态栏中字和图标的颜色.而系统默认的statusbar的字体 ...
- JAVA发送邮件的DEMO
最近有朋友问邮件怎么发送,就简单写了个demo,因为懒得找jar包,所以项目是创建的maven工程,具体的maven引用的jar如下: <dependency> <groupId&g ...
- php数组的使用
<?php echo "<h2>--------普通数组--------</h2>"; $arr1 = array(1,2,3,4); print_r ...
- 关于统一资源标志符URL的理解
URL由三部分构成 A:B:C A:URL使用的领域 B:在此领域的类型名称 C:标识资源的具体位置 C可以是一个绝对路径,也可以是端口号加上资源名称,总之是可以唯一标示资源的标识 例: 在网址中 S ...
- 关于数组和集合的冒泡排序中容易出现的IndexOutOfBoundsException
数组只能存错一种相同的数据类型,集合只能存储引用数据类型(用泛型),集合的底层就是一个可变的数组. 数组的冒泡排序: public static void arrayMaxPaiXu(int[] ar ...
- ubuntu如何进入local、bin目录
回到home目录,输入命令:cd /usr/local 若要进入bin目录,输入命令:cd /usr/local/bin
- VMware Ubuntu16.04虚拟机安装MATLAB R2016b
因为这学期上的模式识别课程需要在Linux环境下使用Matlab,所以就在Windows10主机上的Vmware Workstation上的Ubuntu虚拟机上安装了最新版本的MATLAB. 环境: ...
- iOS开发之Quartz2D
1. Quartz2D概述及作用 Quartz2D的API是纯C语言的,Quartz2D的API来自于Core Graphics框架. 数据类型和函数基本都以CG作为前缀,比如: CG ...
- centos mail使用外部SMTP发送邮件
1.安装mailx yum install mailx -y 安装好后,编辑配置文件 mailx -V 12.4 7/29/08 <<mailx的版本号 rpm -qc mailx /e ...
- 解决mac os下mcss命令报错:env: node\r: No such file or directory
标题无“转载”即原创文章,版权所有.转载请注明来源:http://besteam.im/blogs/article/31/. 我一直对字符界面有抵触感,即使会用vim,我的linux脚本(python ...