- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于ssh框架技术分析
摘要:SSH框架作为目前较流行的一种Web应用程序开源框架,使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。SSH 即 Spring + Struts +Hibernate。Struts对Model,View和Controller都提供了对应的件。
Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,它是为了解决企业应用开发的复杂性而创建。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,完成数据持久化的重任,主要是以面向对象的思想方便了开发。
关键词:控制反转 依赖注入 AOP 关系映射
引言
首先,java应用开发紧随因特网泡沫时代而来,不免前途叵测。J2EE最初的承诺早已彻底落空,此时.NET悍然出击,提供了强有力的替代选择,使得业界更趋冷静。各个公司都指望易更少的人力和财力开发出更多的应用程序,而J2EE 平台不一定有能力提供。
1.Spring
1.1 Spring 简介
Spring 框架为java开发注入了新的生命。随着Rod Johnson 的著作Expert One-on-One J2EE Design and Development(Wrox,2002)的出版,Spring框架为Java 的开发翻开了新的一页。首先也是最终的一点,它使得POJO(普通旧式Java对象)回归到企业开发来。
传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现Write Once及Run Anywhere的承诺。
Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。它以控制反转(Inversion of Control,IOC)和面向切向(Dependency Injection,AOP)两种技术为基础,完美的简化了企业级开发的复杂度。
1.1.1轻量级框架
相对于EJB(Enterprise Java Beans)框架而言,spring 的核心包体积下占用的系统资源少,可以用于移动设备的程序开发,也可以用于应用程序的中间件,是非侵入式的框架。
1.1.2Ioc容器
Spring最重要的核心概念是它所提倡的控制反转(IOC,也称依赖注入)容器。IoC容器改变了类属性的赋值方式,从容器之中主动把依赖的属性注入给类的对的实例对象,而不是创建对象时再去寻找依赖的属性。这样Java类不需要管属性的赋值问题,把解偶的问题完全交给IoC容器去管理。
1.1.3 AOP实现
面向切面编程时Spring的又一强大功能,它可以将程序的业务代码和系统服务代码(如事务管理,日志记录)分离开,在业务逻辑完全不知道的情况下为其提供系统服务,这样业务逻辑只需要负责和业务处理有关的操作,不用关心系统问题,实现了内聚式的开发方式。
1.1.4数控持久化
Spring并没有实现自己的持久化方案,它集合了现有的流行持久框架,例如Hibernate,iBATIS等框架,另外对于喜欢用JDBC完成数据持久化的程序员,Spring采用JDBC模板封装了JDBC的数据库操作。
1.1.5 Spring的web框架
Spring提供的MVC的框架解决方案,可以完全使用Spring的IOC和AOP的能力,拥有完善的控制器(Controller)来继承架构,能够根据需求使用适当的控制器,是web开发更方便。
1.1.6
其他框架的集成
Spring提供了对其他Web框架的整合,使程序开发可以选择适合的MVC的框架,例如Struts,WebWork,tapestry,JSF等。
1.1.7其他企业级服务
除以上功能外,Spring还封装了一些企业级服务,它们拥有一切的使用模式,在使用上更为简化。这些企业级服务包括:远程服务(Remoting),发送电子邮件(E-mail),JMS,JNDI,Web Services。
1.2 依赖注入
IoC,它使程序组件或类之间尽量形成一种松耦合的结构,开发者在使用类的实例之前 需要先创建对象的实例。但是IoC将创建实例的任务交给IoC容器,这样开发应用代码只需要直接使用类的实例,这就是控制反转。
作为例子,将分析以下例子。收银机必须获取被购商品的最新价格,价格存储在一个大的遗留系统中并在其中计算,而收银机位于销售点。CashRegister对象必须使用价格数据库才能完成其任务。
定义收银机的接口,它有一个calculateTotalPrice
您可能关注的文档
- 贯彻落实中央八项规定有关情况自查的情况汇报.doc
- 光学课程设计报告.doc
- 海南三亚九校高三生物联考试题(Hainan Sanya nine school session of senior high school biology entrance exams).doc
- 河北省房地产市场供求关系与房价波动研究.doc
- 湖北省考博英语联考试题(考卷附答案).doc
- 江西省农村信用社岗位资质考试—人力资源及答案.doc
- 教育教学论文 3D打印技术在中小学教学中的应用研究.doc
- 接触网专业试题库(技术管理).doc
- 九年级英语第二次月考测试题.doc
- 郎平:我没考虑过新合同,女排精神不是讲故事和心灵鸡汤-东方早报.doc
- 2022年部编人教版九年级数学上册期末考试题及答案【最新】.doc
- 人教部编版四年级数学(上册)期末质量分析卷及答案.doc
- 人教版一年级科学下册期中试卷及答案【一套】.doc
- 2023年人教版九年级地理(上册)期末考试卷及答案.doc
- 2022-2023年人教版七年级数学下册期中测试卷及答案【全面】.doc
- 苏教版五年级《数学》下册全单元测试题【附答案】.docx
- 人教版三年级语文上册期末考试卷及答案【全面】.doc
- 部编版五年级数学下册期中考试题及答案【完美版】.doc
- 2022年部编版六年级数学上册期末试卷加答案.doc
- 2021—2022年部编人教版三年级语文上册期末试卷(参考答案).doc
文档评论(0)