版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Slide 1 Java EE程序设计程序设计第七章第七章 Spring 框架基础框架基础Web 应用开发技术(Java EE)Slide 2 Java EE程序设计程序设计学习目标学习目标首要目标 学习并掌握Spring框架及基本原理; 理解掌握控制反转(IoC)的原理; 理解掌握面向切面编程(AOP)的理念; 熟练应用IoC和AOP的理念进行项目开发;次要目标 了解Spring 4.0框架的新特性Slide 3 Java EE程序设计程序设计本章提纲本章提纲7.1 Spring 4.0 简介及新特性简介及新特性7.2 控制反转(控制反转(IoC)7.3 Bean 与与 Spring 容器容
2、器7.4 Spring AOP 应用开发应用开发7.5 本章小结本章小结Slide 4 Java EE程序设计程序设计7.1 Spring技术简介技术简介Spring Framework 是目前流行的 Java 开源框架,是一个轻量级的 Java EE 解决方案,可以一站式构建企业级应用。Spring 的产生源于 Java EE 专家 Rod Johnson 在2002年编著的Expert one to one J2EE design and development,书中对 Java EE 正统框架臃肿、低效、脱离现实的状况提出了质疑,并积极寻求探索革新之道。Spring 通过下列四种策略来简
3、化 Java 开发: 基于 POJO(Plain Old Java Object) 的轻量级、最小侵入式开发; 通过依赖注入(IoC)和面向接口编程实现松耦合; 通过面向切面编程(AOP)和惯例实现声明式编程; 通过面向切面编程和模板消除样板式代码。Slide 5 Java EE程序设计程序设计Spring两大核心技术两大核心技术IoCInversion of Control 译为:控制反转 ,在 Spring 里的实现是 Dependency Injection ( 依赖注入),就是说对象之间的依赖关系在后期通过配置文件(典型为 XML 文件)生成,Spring 里实现了两种注入方式:构造函
4、数注入、 Setter 方法注入。我们可以这样理解这种技术带来的好处,前期我们只需要关注单个对象(组件)的功能实现,具体的业务实现是通过后期配置出来的,不同的配置可以产生不同的业务功能。AOPAspect-oriented programming 译为:面向切面编程 。 AOP 大大降低了对象之间的耦合程度,与 IoC 一样,能够通过后期的配置动态为对象增加新的特性,甚至能够为对象动态增加方法。在 Spring 下, AOP 的实现不需要借助专门的 AOP 定义语言,只需要普通的 Java 对象和 XML 配置文件即可。Slide 6 Java EE程序设计程序设计Spring 3.X的架构图
5、的架构图Slide 7 Java EE程序设计程序设计Spring 4.X的架构图的架构图Slide 8 Java EE程序设计程序设计Spring 4.0的新特性的新特性核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IoC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如:JNDI、EJB、电子邮件、国际化、校验和调度功能。Spring
6、AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。Slide 9 Java EE程序设计程序设计Spring 4.0的新特性的新特性Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并
7、且极大地降低了需要编写 的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring的通用事务和 DAO 异常层次结构。Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web的应用程序提供了上下文。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。Spring MVC 框架:Spri
8、ng MVC 框架是一个全功能的构建 Web 应用程序的 MVC实现。通过策略接口,Spring MVC 框架变成为高度可配置的,Spring MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。Slide 10 Java EE程序设计程序设计Spring 4.0-HelloWorld案例分析案例分析开发此应用程序所涉及的技术如下: Spring 4.2.0.RELEASE Maven 3 JDK 1.7以上 Eclipse Java EE IDE (Luna Service Release 2)Slide 11 Java EE程序设计程序设计S
9、pring 4.0-创建创建Maven项目项目Slide 12 Java EE程序设计程序设计Spring 4.0-创建创建Maven项目项目Slide 13 Java EE程序设计程序设计Spring 4.0-添加添加Spring4依赖依赖Slide 14 Java EE程序设计程序设计Spring 4.0-定义定义Java类类Slide 15 Java EE程序设计程序设计Spring 4.0-配置文件配置文件Slide 16 Java EE程序设计程序设计Spring 4.0-运行程序运行程序1Slide 17 Java EE程序设计程序设计Spring 4.0-运行程序运行程序2Sli
10、de 18 Java EE程序设计程序设计Spring 4.0-IoC思想思想Slide 19 Java EE程序设计程序设计Spring 4.0-IoC思想思想控制反转不只是软件工程的理论,在生活中我们也常用到这种思想。比如在我们日常生活中的各类中介机构,房屋中介、婚姻中介、二手车中介等。我们只需要把具体要求告诉第三方中介,然后由第三方中介向我们推荐。整个过程不再由我们自己控制,而是由第三方中介这样一个类似容器的机构来控制。Spring 所倡导的开发方式就是如此,所有的类都会在Spring 容器中登记,告诉 Spring 你是个什么,你需要什么,然后 Spring 会在系统运行到适当的时候,
11、把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 Spring 来控制,也就是说控制对象生命周期的不再是引用它的对象,而是Spring。Slide 20 Java EE程序设计程序设计Spring与与Bean的调用关系的调用关系Slide 21 Java EE程序设计程序设计Spring与与Bean的调用关系的调用关系Slide 22 Java EE程序设计程序设计Spring中中Bean的生命周期的生命周期Slide 23 Java EE程序设计程序设计Slide 24 Java EE程序设计程序设计Spring 4.0-AOP思想思想OOP 引入封装、继承和多
12、态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP 则显得无能为力。也就是说,OOP 允许你定义从上到下的关系,但并不适合定义从左到右的关系。如日志、安全性、异常处理、权限、事务等。而 AOP 技术则恰恰相反,它利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即切面(也有翻译为“方面”)。Slide 25 Java EE程序设计程序设计Spring 4.0-AOP思想思想Slide 26 Java EE程序设计程序设计切面(Aspect) 一个关注点的模块化,实现企业应用中多个类的共同关注点,比如日志、权限、事务等。通知(Advice)在切面某个特定的连接点上执行的动作 (做什么)。连接点(Join point)在程序执行过程中某个特定的点,比如某个方法、对象的初始化等 (在哪里做) 。切入点(Pointcut)匹配连接点的表达式(在哪里做的集合)。AOP基本概念基本概念Slide 27 Java EE程序设计程序设计AOP基本概念基本概念Slide 28 Java EE程序设计程序设计Slide 29 Java EE程序设计程序设计AOP基本概念基本概念-指示器指示器Slide
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第一单元简易方程(提升卷)-2023-2024学年数学五年级下册单元速记巧练
- 《电项针对大鼠脑缺血再灌注脑损伤模型的缺氧诱导因子(HIF-1α)及其靶基因的影响研究》
- 《孟荀天命观比较研究》
- 《双极膜电渗析技术解离废弃NaH2PO2制备H3PO2的研究》
- 2024年周口小型客运从业资格证考试真题保过
- 2024年度影视作品改编权许可合同
- 2024年六盘水c1客运资格证考试
- 2024年甘肃客运资格证理论考试模拟题及答案
- 2024年企业采购战略合作项目的环境与社会责任合同
- 高校学术期刊与“双一流”建设协同发展机制研究
- 教学查房-胃癌
- 2023超星尔雅-大学生创新基础-冯林全部答案
- 赵珍珠《商业银行-金融企业会计》第二版课后参考答案 (第二到十一章)
- 大班科学《红薯现形记》课件
- GB/T 43336-2023舵轮控制系统通用技术条件
- JGJT294-2013 高强混凝土强度检测技术规程
- 2022-2023学年天津市某中学高三上学期第二次月考英语试题(解析版)
- 人教版英语四年级上册《Unit-3-My-friends》单元教学课件
- 扬州某校2023-2024苏教版五年级上册数学期中课堂练习及答案
- 《数字影音处理》课程标准
- 电动叉车堆垛车日常点检表
评论
0/150
提交评论