网站大量收购闲置独家精品文档,联系QQ:2885784924

Spri函ng学际习.doc

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
初识Spring ? 现在开始写写Spring,Spring它是一个非常优秀的 框架,在之前我已经写过Struts和Hibernate,大家知道现在流行的框架体系结构就是Struts + Spring + Hibernate,现在也有的公司用jsf+ajax代替struts,?就是用来做用户界面层UI。一般是Struts导过来,它有一个表单 Bean,以前表单的action就用Struts来做,但现在有了Spring,就由Spring来接手,以后就是由Spring的反转控制以及它的面 向切面性,来接手Struts里面的一些东西,也包括日志服务! ?Spring 是一种多层的JAVAEE应用程序框架,其核心就是提供一种新的机制管理业务对象及其依赖关系。例如IOC(反转控制)也称为依赖注入,AOP(面向切面编程)! ?我们先来看一张图片: ?上图显示出Spring的七个模块,第一个AOP主要是面向切面性部分,先简单的介绍下什么是面向切面性,其实面向切面性是面向对象性中的一种特 殊情况,它其实也是面向对象性中的一种概念,只是它不是一种面向对象的一种方式了,它把其中的一些方法以及服务呢做成一种切面!它“你”去通过!在后面再 详说~Spring,它也提供了ORM,学到现在已经对ORM不陌生了,关系对象模型,大家可能会首先想到Hibernate.,其实在Spring中它 已经集成了Hibernate,因此我们需要将 Hibernate加入到Spring中来是非常方便的!我们可以将 其数据源直接配在我们的applicationcontext.xml中, 另外它也提供一个Spring Web服务,以及DAO,所谓的数据访问对象,还有就是Spring context对象,所谓的上下文对象,它里面提供了一个ApplicationContext,当然它自身也提供了MVC,而最终它底层依赖一个核心的 库,是这样一种结构! 上 图是它的整体结构,这里的容器使用的是Tomcat,它的UI层用的是Struts,它通过Spring的AOP以及ORM技术与后台进行交互!该图交互 的可能是Hibernate!这样就体现出Stuts做UI层,而Spring做控制层,Hibernate做模型层。MVC! Spring 中有一些术语,介绍如下: 轻量级:它的大小是比较小的,它的核心库才一百多K,它的整个框架体系加起来也才一MB左右,不是很大! 非 入侵式:假如说一种框架你在应用的时候很依赖于这种框架,就是说你在开发的时候很多地方都依赖这种框架,很多地方你离开了这种框架就运行不了,像 Struts,Struts有点像是入侵式的,像我们的JSP页,里面有很多html:***这样的一些标记!这些标记一旦离开了 Struts框架体系运行 就不行了,那么什么是非入侵式的呢,就是一种组件,或框架,我们离开了它也能活!在这个框架里面也行,这种就叫做非入侵式的,也就是我们的程序与框架关联 不是太紧密的! 容器:容器就相当于水缸,篮子,它可以存入组件!可以给主键提供一个运行环境!它可以帮助管理我们以前需要手工编写程序去管理对象关系的工作 IOC/DI:IOC 就是我们上面提到的反转控制,或者称为DI依赖注入!它是Spring最核心的概念,使用Spring我们不必在程序中维护对象的依赖关系,只要在XML 设定,Spring容器会自己根据相关配置去产生他们之间的关系,就相当于所有的关系都是在容器运行的时候注入的,而本身他们的关系是没有的! (Hibernate)也是这样的!好比有二个人上学,在他们上学前这二个人之间是没有任何关系的,而当他们被学校分配到一个班级的时候,它们就有了关系 ,同学!这个就相当于是反转控制,在由容器运行的时候通过XML来确定类与类之间的关系! AOP:也是Spring被人重视的另一方面!其实AOP只是Spring支持的一个子容器,AOP(Aspect oriented programming) 我们可以在玩游戏的时候经常有这样情景,假如存在一个通道,其中有二个门,假设当我们的角色通过第一道门的时候,我们的红会加100,而再通过第二 道门的时候我们的蓝会加100,现在提出一个问题,就是假如我们这个游戏里面该通道上没有这二个门,是正常的吗?当然是,也行!只不过人物角色不能在通过 该通道的时候加红和蓝,并不影响游戏的整体!就是说有一些服务在我们的WEB应用程序中不是一些必须的服务,就像是Log4J,日志服务!假如说没有它, 我们的程序也行,就是像这样的一些服务,它与我们的应用程序需求无关,但我们又提供了,那么程序中其实有时候有许多这样的情景,就是程序并不是必须,好比 上面的门,我们看整个通道,那么这二个门是不是好比是二个切面呢?我们穿过一个门的时候是不是穿过一个空间

文档评论(0)

zzabc003 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档