基于IoC和ORM框架的进销存系统设计

基于IoC和ORM框架的进销存系统设计

论文摘要

面向对象的编程方法极大的提高了软件开发的效率,但是随着软件规模不断增大,业务逻辑变得越来越复杂,对象之间的关系也越来越紧密,这给软件的测试、修改带来了很大的问题,因为类之间的耦合太紧密了。避免这种现象的方法就是让这些关系密切的对象之间的耦合变得尽量的松散。解决这个问题的方法有很多种,基本前提是面向接口编程,使调用者只需要关心被调用者功能的外表而不需要关心具体的实现。按照以往的方式,多采用类似工厂模式的创建型模式来实现这个功能,更好的一种方式是使用控制反转(IoC,Inversion of Control)的编程方法。控制反转有两种形式,一种是依赖查找,可称之为拉模式,如JNDI的使用方式:Object obj=(Object)initContext.find(“…”),这样由调用者去主动查找需要的对象,而将具体的实现隐藏在JNDI路径后面。另一种是依赖注入,可称之为推模式,在调用者中按照接口来定义被调用者,如:CalledInterface x,然后需要某个方法或者构造器来给x赋值,这个赋值的工作可以交给IoC容器来完成,这种方式不会造成对相关API(如JNDI)的依赖。目前使用的数据库以关系型数据库为主流。业务模型体现在关系型数据库中就是表的形式,而在面向对象的编程语言中则体现为对象的形式,这两种形式的数据表现方式存在巨大的差别。在面向对象的语言中访问关系型数据库,传统的方式是在代码中写SQL语句,这种方式是最灵活的,但是非常容易出错,并且会有大段的异常保护代码反复出现,而且也不容易实现数据库无关性。为了实现在编程语言中使用面向对象的方式来操作关系型数据库中的数据,出现了ORM(Object-Relation-Mapping,对象关系映射)这种新的编程方法。在ORM框架下,对象和关系型数据库中的数据是一一对应的,操作对象就相当于操作关系型数据,代码中完全不会出现SQL语句。有的ORM框架还实现了完全透明的持久化功能,能够自动监测已从数据库中取出的对象发生的变化,在提交回数据库的时候能够自动将这些变化写入到数据库。在适用的场合下,ORM框架能够极大的提高程序的可扩展性和可维护性。本论文以流行的IoC框架SpringFramework和ORM框架Hibernate为例,结合常见的进销存系统,探讨了控制反转和对象关系映射的设计方法在JavaEE平台的WEB系统中的应用。论文首先结合流行的SpringFramework和Hibernate框架探讨了IoC和ORM框架的由来、功能和使用情况,然后对在此基础上完成的进销存系统进行了介绍,分别描述了系统总体的技术架构、业务模型的建立、业务功能模块的组成、系统所需开发工具与开发环境,并对系统设计进行了详细论述,也给出了数据库的设计方案。最后总结了系统的优势以及需要改进之处。

论文目录

  • 摘要
  • Abstract
  • 第1章 前言
  • 1.1 研究背景
  • 1.1.1 复杂应用程序中对象之间的过度耦合
  • 1.1.2 面向对象编程与关系型数据库的不匹配
  • 1.2 研究现状
  • 1.2.1 对象间解耦
  • 1.2.1 数据访问
  • 1.3 研究内容
  • 1.4 本文结构安排
  • 第2章 IoC框架和ORM框架
  • 2.1 IoC概述
  • 2.2 SpringFramework框架简介
  • 2.3 在SpringFramework框架中配置IoC
  • 2.4 ORM概述
  • 2.5 Hibernate框架
  • 2.6 小结
  • 第3章 进销存系统的架构与功能
  • 3.1 进销存系统简介
  • 3.2 系统架构和功能
  • 3.2.1 系统架构
  • 3.2.2 系统功能模块
  • 3.3 系统建模
  • 3.3.1 配置管理模块
  • 3.3.2 基础信息模块
  • 3.3.3 采购管理模块
  • 3.3.4 销售管理模块
  • 3.3.5 库存管理模块
  • 3.4 小结
  • 第4章 进销存系统的设计与实现
  • 4.1 框架集成
  • 4.1.1 基础框架SpringFramework配置
  • 4.1.2 集成数据库连接池Proxool
  • 4.1.3 集成ORM框架Hibernate
  • 4.1.3.1 配置Hibernate通过proxool得到数据库连接
  • 4.1.3.2 通过Spring的AOP配置Hibernate可声明式事务
  • 4.1.3.3 domain类和数据库表的映射配置文件
  • 4.1.3.4 DAO类的配置
  • 4.1.3.5 泛型的HibernateDao
  • 4.1.4 集成日志框架Log4j
  • 4.2 数据库设计
  • 4.3 界面实现
  • 4.4 一个完整的请求、应答流程
  • 4.5 小结
  • 第5章 结束语
  • 5.1 总结与回顾
  • 5.2 进一步工作展望
  • 参考文献
  • 致谢
  • 学位论文评阅及答辩情况表
  • 相关论文文献

    • [1].基于IOC容器的工作流引擎的设计[J]. 微计算机信息 2008(21)
    • [2].基于IoC模式的工作流与应用系统的集成[J]. 计算机工程 2009(18)
    • [3].LC联合IOC治疗胆源性胰腺炎[J]. 中国医药指南 2011(26)
    • [4].PowerBuilder基于IoC框架的组件开发方法[J]. 科技传播 2010(23)
    • [5].该相互拥抱的IOC与电子竞技[J]. 电子竞技 2017(21)
    • [6].基于示波器嵌入式IOC技术的逐束团位置监测系统研制[J]. 核技术 2012(05)
    • [7].IOC—SBBR—人工湿地组合工艺在猪场废水处理中的应用[J]. 给水排水 2011(07)
    • [8].基于元数据引擎的IOC组件容器设计[J]. 计算机工程与设计 2009(11)
    • [9].85万平方米体量,众安·IOC领航钱江世纪城 访众安集团浙江区域公司营销总监 吕宇纬[J]. 楼市 2012(18)
    • [10].基于容器的IoC控制反转模式的研究[J]. 计算机应用与软件 2009(04)
    • [11].Spring ActionScript中IoC容器注入机制研究[J]. 电脑知识与技术 2010(28)
    • [12].EPICS的IOC和LabWindows/CVI的接口方法[J]. 核电子学与探测技术 2009(01)
    • [13].示波器嵌入式IOC研制及应用[J]. 核技术 2009(10)
    • [14].服务橄榄油行业60年,致力于促进油橄榄种植的可持续发展——访国际油橄榄理事会(IOC)经济与推广部主管Ender Gündüz先生[J]. 中国食品 2019(07)
    • [15].基于IOC模式工美行业电子营销系统开发框架的设计与实现[J]. 微计算机应用 2011(01)
    • [16].基于Spring框架的IOC模式的设计和实现[J]. 合肥学院学报(自然科学版) 2011(01)
    • [17].IoC容器原理的研究[J]. 软件导刊 2011(06)
    • [18].DOTNET平台组件配置工具的设计与实现[J]. 微型机与应用 2010(12)
    • [19].基于IoC模式的D3D渲染工作流引擎设计[J]. 孝感学院学报 2010(06)
    • [20].基于IOC模式的公文传阅系统[J]. 福建电脑 2009(04)
    • [21].基于Struts+Hibernate+Spring轻量级框架的Web应用开发[J]. 福建电脑 2008(02)
    • [22].Spring框架中IoC的实现[J]. 微处理机 2008(01)
    • [23].基于嵌入式IOC的CSNS真空控制系统样机研制[J]. 核电子学与探测技术 2013(03)
    • [24].基于轻量级J2EE架构的物资申购系统[J]. 电脑开发与应用 2008(07)
    • [25].浅谈Spring框架下Acegi安全架构的应用[J]. 价值工程 2010(36)
    • [26].2008年北京奥运会知识产权保护问题分析[J]. 重庆工商大学学报(社会科学版) 2009(01)
    • [27].基于SSH多架构Web系统设计及其应用[J]. 科技和产业 2009(03)
    • [28].利用IOC/AOP实现声明式事务[J]. 软件导刊 2010(05)
    • [29].基于Spring框架的IoC微内核的实现机制与应用[J]. 湖南工业大学学报 2009(03)
    • [30].基于Spring框架的IOC模式在在线项目管理平台中的实现[J]. 淮南师范学院学报 2011(03)

    标签:;  ;  ;  ;  

    基于IoC和ORM框架的进销存系统设计
    下载Doc文档

    猜你喜欢