1、毕业论文题目:仓库管理系统的设计与实现 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学
2、校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定
3、,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论
4、文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告
5、、外文译文、译文原文(复印件)次序装订指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良
6、 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意
7、义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构
8、是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日仓库管理系统摘要21世纪是一个信息化的时代,企业只有敏捷的获取生产信息和市场信息,才能置身于国际大舞台,这就离不开先进的
9、企业管理系统ERP。而仓库管理系统正是ERP中一个最重要的组成部分,也是企业生产过程的一个重要组成部分。企业要在现代化国内外市场取得一席之地,就必须使其仓库管理体系达到现代化水平,也即使仓库管理从原始的手工阶段走向方便快捷的计算机实现阶段。选择合理的仓库管理方法,不仅会促进销售,改善生产秩序,做到均衡生产,而且会降低库存的占用资金,最终使企业获得更好的经济效益。本仓库管理系统是针对的实际需求,从实际工作出发,在分析目前仓库管理系统中存在的问题的基础上,结合管理信息系统开发的概念、结构及系统开发的基本原理和方法,并利用计算机运算速度快、存储信息容量大、处理逻辑问题强、功能强大的优势,采用目前流行
10、的B/S结构和流行框架SSH(Struts +Spring+Hibernate)和MVC设计模式。通过Internet/Intranet实现对物资进行管理,特别是对物资基本信息管理、物资调配信息等进行完整的监控而开发出来的。从查询与决策信息的管理需求出发,针对性强,功能齐备,旨在通过帮助该库存管理实现信息化、网络化,以提高管理的效率。本仓库管理信息系统主要包括“入库管理”、“出库管理”、“基本信息管理”和“系统用户管理”等模块。它主要对物资的出入库进行统计和核算,及时准确地掌握商品库存情况,并动态反映物资的增减变动,为的决策提供基础数据。关键词:仓库管理系统;B/S;SSH;MVC WMS-W
11、arehouse Management SystemAbstract21 century is an informative ERP.Enterprises which could activate in the international community must dependent on the acquisition of the manufacture and marketing information. This needs advanced enterprise management system-ERP. And warehouse management system is
12、a most important part of ERP.To obtain a place in the inner and international market, the warehouse management system of enterprises must modernize. Namely, the management of warehouse must transmit from primitive handmade stage to convenient computerization. Choosing proper method of warehouse mana
13、gement, not only to boost market, ameliorating the order of production, achieving the end of equilibrium production. It can also decrease the funds of stockings.Ultimately,enterprises obtain better economics benefit by using this software.How to reduce the cost,improve work efficiency is materials s
14、tore managers need to solve a practical problem.This material management information system is aimed at the actual demand,from actual conditions, and on the analysis of the current material management information system based on the problems existing in the information system development,management
15、concept,structure and system development,the basic principle and methods,and use of computer operation speed and storage capacity and processing information, logical problem of powerful advantages, the popularity of B/S structure and the three pandemicframework of SSH(Struts+Spring+Heibernate) and M
16、VC design pattern,through the Internet/one of enterprise management, especially for basic information management,materials,materials,information of deployment and monitoring.From the management decision information query and pertinence,is to help the enterprise,by realizing informationization,the ne
17、twork management of material, in order to improve the efficiency of the enterprise management.This material management information system mainly include material inventory management,and material outbound management and material and the basic information management system user management,etc.It main
18、ly supplies for the enterprise to make statistics and accounting, timely and accurately grasp the dynamic inventory goods,and reflects the changes,enterprise or business the decision to provide basic data.Key Words: WMS-Warehouse Management System;B/S;SSH;MVC;III 目录摘要IAbstractII目录11 绪论11.1 课题设计的背景11
19、.2 课题设计的目的和意义11.3 课题的主要研究工作21.4 论文结构安排22 课题涉及的关键技术32.1 MVC设计模式简介32.2 JSP技术简介32.2.1 JSP工作原理42.2.2 JSP体系结构42.2.3 JSP的特点52.3 SSH框架简介52.3.1 定义52.3.2 Struts262.3.3 Spring62.3.4 Hibernate72.4 Sql Server数据库简介82.4.1 SQL Server2005简介82.4.2 “结构化查询语言”(SQL)简介83 系统需求分析103.1 可行性分析103.1.1 技术可行性103.1.2 经济可行性103.2 功
20、能需求分析103.3 数据需求分析113.5 性能需求分析134 系统概要设计144.1 系统功能设计144.2 数据库的设计154.2.1 E-R图的设计154.2.2 数据库表的设计175 系统的详细设计与实现205.1 登陆页面的设计与实现205.2 系统安全管理的实现225.3 系统用户管理265.5 基础信息维护275.5 物资入库出库管理295.6 系统配置时的一些关键代码315.6.1 Struts.xml配置315.6.2 web.xml配置346 系统测试376.1 测试概述376.2 数据库测试376.3 测试实例387 总结41参考文献42致 谢43毕业设计(论文)知识产
21、权声明44毕业设计(论文)独创性声明45附 录461 绪论1.1 课题设计的背景当今社会是一个信息社会,一个知识经济时代。自世界上第一台计算机ENINC(Electronic numerical integrator and calculator)于1946年在美国问世到现在,计算机业飞速发展,技术淘汰指标高的惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”,随之而来的是以全球信息网络普及和全球信息共享为标志的“全球信息网络革命”的蓬勃兴起。可见,世界已进入在计算机信息管理领域中激烈竞争的时代,计算机已经变得普通得不能再普通的工具,如同我们离不开的自行车、汽车一
22、样。随着企业规模的扩大,管理信息系统也发挥越来越重要的作用。作为企业管理信息系统关键组成部分的仓库管理系统的应用给企业带来巨大的效益。采用仓库管理系统将使企业改变其传统的手工记录模式,应用数据库技术使海量数据的存储与处理成为很方便的事情,这样可大幅缩短主要业务流程的处理时间,提高对市场的响应能力。“物流服务最初起源于军事上的运用”,“物流”这一概念起源于二战期间的美国,英文称之为Logistics或者Physical Distribution,前者的使用率更高一些。物流一词最早被描述为泛指军队运输、补给和屯驻,后来被广泛用来描述商品实体的物理性流通活动,成为流通经济学中的术语。随着经济的全球化
23、以及中国经济改革的逐渐深化,各面临着越来越多激烈的竞争。我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能在各种竞争中立于不败之地。库存管理是一般工业、商业生产管理环节中重要的一环,所以,有效地进行物资基本信息管理、物资调配信息等进行完整的监控已经成为了各生存和发展的头等要事。本仓库管理信息系统就是在这样的信息技术广泛应用的时代背景下,本着用户的需求,借助于现代化的管理方法和信息技术开发出来的。1.2 课题设计的目的和意义基于给管理者与物资创造一个能够及时进行信息交互的平台,仓库管理系统就孕育而生了,希望通过它可以将管理者和物资紧密相连起来,实现便捷管理的目标
24、。该系统继承了传统的管理方法使得管理者更加便捷、迅速、准确的掌握仓库信息,通过该仓库管理系统得到信息的反馈,同时也可以进行一系列的操作来对物资进行入库和出库等信息登记。这大大的缩短了工作时间,且提高了工作效率。仓库管理系统的投入,将使仓库的管理更加正规化,为产品的出入库管理部1门和销售部门提供了方便,降低了仓库的损耗。企业可以对售出的产品进行跟踪服务,同时也免去了销售人员按以往惯例亲自前往用户处去核实货物情况的麻烦,提高了办事效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企业长期与用户建立的良好信誉。1.3 课题的主要研究工作该系统采用了现在技术界很流行的Java语言来做开发实现,运用
25、各种性能均良好的数据库MYSQL,页面流行语言JSP,主流的三个框架SSH(Struts+Spring+Hibernate),热门的设计模式MVC。将整个系统有机的联系起来,使其运行流畅,简单易懂。Java不仅是一个很好的编程工具还是一个很好的平台,封装性非常好,良好的面向对象编程思想,Sqlserver关系型数据库的优势,加上安全性能好,使系统的可用性大大提高了。1.4 论文结构安排本论文以标准的仓库管理模式为蓝本,根据软件工程的理论,开发出基于Java EE的适用于中小单的位仓库管理系统。论文首先研究了系统开发的可行性,然后进行了需求分析,并将需求分析以文档的形式反馈给用户,并和用户进行交
26、流进一步确认需求,然后根据需求分析采用了结构化分析方法进行了系统分析设计,并进行了数据库的建模工作,根据模型构建了数据库。后台数据库采用SqlServer2005完成。基于开放的开发架构Java EE,实现了系统登录模块、主窗口模块、仓库人员管理模块、入库模块、出库模块等。最后对全文进行了总结,对今后的工作提出了展望本论文共有七章,具体组织如下:第一章:通过分析,提出仓库管理系统开发的目的和意义,此次研究的主要任务,以及本次论文的组织。第二章:主要介绍开发本系统所采用的相关技术。第三章:系统需求分析,在此章节主要进行用户需求分析和性能需求分析以及系统开发环境的要求。第四章:系统概要设计,在这个
27、阶段要得到数据库的设计以及系统整个流和每个功能模块的设计。第五章:系统的详细设计与实现,主要通过界面形式展现出来。第六章:进行系统测试包括测试的任务及目标、测试方案和测试用例。第七章:对全文以及整个系统的实现过程进行了总结,给出了系统设计的体会与收获。92 课题涉及的关键技术2.1 MVC设计模式简介MVC(Model-View-Controller),即模型、视图、控制器。它是Java应用中比较热门的一种编程思想,通过将一个应用的输入、处理、输出的应用程序进行分离,使得这样一个应用被分为三层-模型层、视图层、控制层,从而使得整个应用清晰化、简洁化,更易于程序员编码。该模式的关系状态图如下2.
28、1所示:图2.1 MVC状态关系图该模型的优点:1)MVC具备多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。2)模型返回的数据不带任何显示格式,因而这些模型也可直接应用于面向接口编程。3)一个应用被分离为三层,有些情况下只需改变其中一层就能满足应用的改变。控制层可以包含用户请求权限的控制。4)有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工具产生并管理程序代码。该模型的缺点:它增加了系统结构和实现的复杂性、视图域控制器间连接往往过于紧密、试图对模型数据访问效率降低等。2.2 JSP技术简介JSP(Java Se
29、rver Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准
30、备转向JSP,利用JSP来开发动态网站。 2.2.1 JSP工作原理JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器Web服务器后台数据库的三层
31、架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。2.2.2 JSP体系结构JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。模式一:JSP+JavaBeans技术在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要
32、。模式二:JSP+Servlet+JavaBeans技术Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给
33、浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。2.2.3 JSP的特点1) 简化的页面生成技术JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。2) 与Java平台有机集成JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web
34、应用程序。3) 硬件平台和服务器无关性JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。4) 功能可扩展性如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。JSP可以通过JDBC,与诸如Oracle、SQL Server这样的大型关系数据库进行
35、连接。JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。2.3 SSH框架简介2.3.1 定义集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做
36、管理,管理Struts和Hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理Struts和Hibernate。系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionSer
37、vlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不
38、同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。2.3.2 Struts2Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。Model部分:由ActionForm和JavaBean组成,其中ActionForm用于将用户的请求参数封装成ActionForm对象,该对象被ActionServlet转发给Ac
39、tion,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。View部分:该部分采用JSP(或HTML、PHP)实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。Controller组件:Controller组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器继承了HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求
40、,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。2.3.3 SpringSpring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。目的:解决企业应用开发的复杂性。功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能。范围:任何J
41、ava应用。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象
42、初始化时不等对象请求就主动将依赖传递给它。面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应
43、该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。2.3.4 HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库
44、。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibe