[精选]Spring业务逻辑层技术8744.pptx
《[精选]Spring业务逻辑层技术8744.pptx》由会员分享,可在线阅读,更多相关《[精选]Spring业务逻辑层技术8744.pptx(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章Spring2.0业务逻辑层技术业务逻辑层技术教学内容教学内容uSpring简介u有关知识补充uSpring框架uSpring配置文件34.1Spring简介简介概述概述pSpring是一个开源框架,是为了解决企业应用开发的复杂性而创建的。p目的:解决企业应用开发的复杂性。p功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能。p范围:任何Java应用。p简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。44.1Spring简介简介概述概述p轻量轻量从大小与开销两方面而言从大小与开销两方面而言SpringSpring都是轻量的。
2、完都是轻量的。完整的整的SpringSpring框架可以在一个大小只有框架可以在一个大小只有1MB1MB多的多的JARJAR文件里发文件里发布。并且布。并且SpringSpring所需的处理开销也是微不足道的。所需的处理开销也是微不足道的。p非侵入非侵入 在应用中,一般不需要引用在应用中,一般不需要引用springjarspringjar包里的包里的类。类。p控制反转控制反转SpringSpring通过一种称作控制反转(通过一种称作控制反转(IoCIoC)的技)的技术促进了松耦合。当应用了术促进了松耦合。当应用了IoCIoC,某一接口的具体实现类,某一接口的具体实现类的选择控制权从调用类中移除
3、,转交给第三方裁决。的选择控制权从调用类中移除,转交给第三方裁决。p面向切面面向切面SpringSpring提供了面向切面编程的丰富支持,允提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计许通过分离应用的业务逻辑与系统级服务(例如审计(auditingauditing)和事务()管理)进行内聚性的开发。应用)和事务()管理)进行内聚性的开发。应用对象只实现它们应该做的对象只实现它们应该做的完成业务逻辑完成业务逻辑仅此而已。仅此而已。它们并不负责其它的系统级关注点,例如日志或事务支持。它们并不负责其它的系统级关注点,例如日志或事务支持。54.1Spring简介简介容
4、器容器pSpring即是一个容器又是一个框架。p容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。p框架Spring提供了很多基础的与业务逻辑无关的功能,比如:事务管理、持久化框架集成等等,使用Spring框架,开发人员可以专注于业务逻辑开发,这个意义上讲它是一个框架。4.1Spring简介简介容器容器p借助于Spring,各种Java EE技术和服务的使用得到了大大简化,因为POJO(普通Java对象
5、,与编程模式无关)编程模型被Spring引入到Java EE的应用开发中。p为了使POJO编程模型在Spring框架中可用,Spring引入了Spring DI容器和Spring AOP实现技术,它们在倡导POJO编程模型方面的功劳是最大的。4.1Spring简介简介容器容器pSpring 提供的控制反转(DI)容器能够管理POJO及各种Java组件。DI负责POJO的管理,比如为它提供事务服务、生命周期服务、线程服务、缓存服务和安全性服务等。p与此同时,AOP技术使得应用程序能够透明地享受到Java EE容器提供的企业级的服务(如JMX、JCA CCI和JMS)。pSpring DI容器针对
6、各种DAO层集成技术(如Hibernate、JPA和JDBC)、Java EE服务及技术提供了一流的集成支持。p 4.1Spring简介简介框架框架p Spring框架是连接Struts与Hibernate的桥梁,同时它很好地处理了业务逻辑。p Spring框架提供的控制反转和面向方面编程、插件式架构降低了应用程序之间的依赖性。p借助于XML定义文件,开发者能够在程序运行时连接不同的组件。pSpring基本概念基本概念pIoCInverseofControlpDIDependenceInjectionpAOPp面向接口面向接口p面向抽象面向抽象p核心容器核心容器p核心容器提供核心容器提供Spr
7、ing框架的基本功能。核心容器的主要组框架的基本功能。核心容器的主要组件是件是BeanFactory(ApplicationContext).pBeanFactory使用控制反转使用控制反转(IoC)模式将应用程序的配置模式将应用程序的配置和依赖性规范与实际的应用程序代码分开和依赖性规范与实际的应用程序代码分开4.1Spring简介简介概念概念4.2.1POJO类补充类补充pPOJO,简单的Java对象(PlainOrdinaryJavaObjects)实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来,而且简称比较直接.其中有一些属性及其gettersetter方法的
8、类。pEntityBean(实体Bean)是持久数据组件,代表存储在外部介质中的持久(Persistence)对象或者已有的企业应用系统资源。简单地讲,一个EntityBean可以代表数据库中的一行记录,多个客户端应用能够以共享方式访问表示该数据库记录的EntityBean。4.2.2工厂模式知识补充工厂模式知识补充p在面向对象的编程中,工厂模式是一种经常被使用到的模式。p工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。4.2.2工厂模式知识补充工厂模式知识补充pX-PersonpXy-ChinesepXz-Americanp工厂类-PersonF
9、actory4.2.2工厂模式知识补充工厂模式知识补充p返回的究竟是Xy还是Xz的实例并不重要,因为它们有相同的方法,只不过这些方法的内部实现不同罢了。public static void main(String args)PersonFactory pf=new PersonFactory();Person p=null;p=pf.getPerson(Chinese);System.out.println(p.sayGoodBye(jack);System.out.println(p.sayHello(jack);4.2.2工厂模式知识补充工厂模式知识补充1.ApplicationConte
10、xtcontext=newFileSystemXmlApplicationContext(src/org/test/applicationContext.xml);2.Personp=(Chese)context.getBean(chese);3.System.out.println(p.sayGoodBye(rose);4.System.out.println(p.sayHello(rose);4.3 Spring 4.3 Spring 框架组成框架组成pSpring框架组成p控制反转IoC(依赖注入DI)p面向方面(AOP)4.3 Spring 4.3 Spring 框架组成框架组成pSp
11、ring是一个分层框架,由若干定义好的模块组成如下图所示。Spring2.0所有模块定义在核心容器之上,核心容器定义了创建、配置和管理bean的方式。Spring2.5的模块的模块Spring2.5Spring2.5内核(内核(IoCIoC容器)容器)AOPAOP技术实现技术实现Spring AOPSpring AOPAspectJ5 AspectJ5 无缝集成无缝集成DAODAOSpring Spring JDBCJDBC集集成成事务管事务管理理ORMORMHibernaHibernate JPAte JPATopLinkTopLinkiBATSiBATSJava EE Java EE 服服
12、务及技术务及技术JMXJMXJMSJMSEJB3.0EJB3.0组组件技术件技术邮件服务邮件服务远程服务远程服务脚本技术集脚本技术集成成线程池、任线程池、任务调度支持务调度支持WebWebSpring Spring Web MVCWeb MVCWebWeb框架集框架集StrutsStrutsWebworkWebworkTypestryTypestryJSFJSF富视图支持富视图支持VelocityVelocityFreeMakerFreeMakerPDFPDFJsper Jsper ReportsReportsExcelExcelSpring Spring Portlet Portlet MV
13、CMVC 4.3 Spring 4.3 Spring 框架框架p在IoC容器、AOP技术实现的基础上,存在各式各样的DAO层集成技术、Java EE服务及技术、Web层支持。4.3.1Spring控制反转控制反转(IoC)p控制反转IoC(Inversion of Control)是Spring中最核心最重要的概念。p借助于IoC,实现“面向接口编程,而不是面向实现编程”。4.3.1Spring控制反转控制反转(IoC)pIoC模式,即由容器控制程序之间的依赖关系,而不是由程序代码直接控制,控制权的转移就是反转。p依赖关系p 意指类之间的访问关系。p 如果类A访问类B的属性或方法,或者类A实例
14、化类B,则称类A依赖于类B。4.3.1Spring控制反转控制反转(IoC)pIoC设计模式将创建对象实例的任务交给IoC容器,应用代码只需直接使用实例。p实现了IoC模式的框架叫IoC容器。p IoC的另一个名字叫依赖注入(dependency Injection)-组件之间的依赖关系由容器在运行时决定,形象地讲,就是由容器动态地将某种依赖关系注入到组件中。4.3.1Spring控制反转控制反转(IoC)p依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。具体含义是:当某个对象(可能是一个Java实例,调用者)需要另一个对
15、象(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。4.3.1Spring控制反转控制反转(IoC)pIOC特点4.3.1Spring控制反转控制反转(IoC)pIoC的优点:p不必关心组件的创建p不必管理组件的生命周期p组件容易共享p测试非常容易4.3.1Spring控制反转控制反转(IoC)pSpring提供的两个IoC容器(BeanFactory和ApplicationCont
16、ext)(见工厂模式知识补充)pBeanFactory主要适用于环境、内容受限的场合,如在Applet环境中,BeanFactory是最基础的IoC容器,它提供了配置框架和基础功能。pApplicationContext继承于BeanFactory,更适合于企业级的应用开发,重点讨论。4.3.1Spring控制反转控制反转(IoC)pBeanFactoryp 可将IoC容器比做食品加工厂。在提供源材料(POJO类)后,经过加工工艺和设备(Spring IoC和Spring AOP)处理后,顾客得到满意的食品(受管POJO,可能装备了事务、安全等功能)。4.3.1Spring控制反转控制反转(I
17、oC)pIoC原理p默认时,配置的POJO都是单例的,即整个IoC容器仅有一个对应的POJO实例,而不是每次调用时产生一个实例(原型的)。p在初始化BeanFactory实例factory后,IoC容器并不预先实例化在配置文件中声明的POJO实例。只是在应用程序调用对应的POJO时,Spring 才会实例化用到的受管POJO。4.3.1Spring控制反转控制反转(IoC)pIoC原理pSpring支持三种主流的IoC注入类型p设值(setter)注入、购造器注入和方法注入。p设值注入p 指通过调用无参构造器实例化受管POJO后,调用p setter方法设置对象间的依赖关系。p构造器注入p 往
18、构造器传入若干参数完成依赖注入,传入的参数都是受管POJO依赖的对象。4.3.1Spring控制反转控制反转(IoC)pApplicationContext IoC容器p 建立在BeanFactory基础之上,对企业级应用开发提供了更多支持,增加了国际化消息(i18n)支持、事件传送(发送和消费事件)支持、访问低层资源(.URL和java.io.File)、IoC容器分层(面向架构分层)等。4.3.1Spring控制反转控制反转(IoC)pApplicationContextp Spring IoC为ApplicationContext提供了许多实现类,ClassPathXmlApplicat
19、ionContext和p FileSystemXmlApplicationContext使用最为频繁。4.3.1Spring控制反转控制反转(IoC)pIoC在web应用中的原理p 在web应用中,Spring会使用ApplicationContext的XmlApplicationContext来完成容器的创建工作。与BeanFactory不同的是:在构建ApplicationContext(IoC 容器)过程中,Spring会自动实例化XML中定义的各个单例。4.3.1Spring控制反转控制反转(IoC)p加载IoC容器到Web应用中pIoC容器也是对象,需要实例化、提供方式使DI与应用程
20、序能交互、不使用时销毁它。pSpring提供contextLoaderListener和ContextLoaderservlet辅助类解决以上问题。对于支持Servletcontextlistener的web容器,开发者只需在web.xml中配置上下文参数即可。4.3.1Spring控制反转控制反转(IoC)pSpring的web.xml配置pSpring的MVC框架是一个请求驱动的Web框架,其设计围绕一个中心的Servlet进行,它能将请求分发给控制器,并提供其他功能帮助Web应用开发。p基于Struts+Spring+Hibernate的联合应用中,接收请求的Servlet是由Strut
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 Spring 业务 逻辑 技术 8744
限制150内