




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章Spring框架基础本章概述本章学习目标主要内容JavaWeb程序设计教程(第二版)(微课版)
第九章Spring框架基础第1页Spring是一个以IoC和AOP为核心的轻量级容器框架。它提供了一系列的JavaEE开发解决方案,包括表示层的SpringMVC、持久层的SpringJDBC以及业务层的事务管理等众多的企业级应用技术。Spring的核心代码均来自于真实项目,是对开发实践的提炼和升华,这一点决定了Spring框架非常适用于实际应用中的开发设计。Spring框架技术自从问世以来不断得以完善和发展,得到了越来越多开发人员的关注和使用。本书后面的章节将重点学习Spring,本章将介绍Spring框架的基本组成结构、Spring的基本配置以及Spring的IoC等功能。JavaWeb程序设计教程(第二版)(微课版)
第2页本章概述第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第3页本章学习目标了解Spring框架的特点了解Spring框架的模块结构掌握Spring开发环境的搭建理解SpringIoC的基本思想掌握Bean的装配理解SpringAOP编程思想第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第4页主要内容9.1Spring框架简介
9.2从HelloWorld开始 9.3SpringIoC 9.4SpringAOP9.5本章小结 9.6思考和练习第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第5页9.1Spring框架简介Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的轻松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003年兴起的一个轻量级的Java开发框架,简单来说,Spring是一个分层的JavaSE/EE一站式轻量级开源框架。这个框架是为了解决企业级的应用开发复杂性问题而出现的。第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第6页Spring框架的模块结构Spring框架是一个分层架构,由20个定义良好的模块组成。这些模块实现的功能不同,在实际应用中可以根据开发需要,选择合适的一个或多个模块。这些模块分为核心容器、数据访问/集成、Web、AOP、服务器设备接口、消息处理和测试,如图所示。第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第7页主要内容9.1Spring框架简介 9.2从HelloWorld开始
9.3SpringIoC 9.4SpringAOP9.5本章小结 9.6思考和练习第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第8页9.2从HelloWorld开始在浏览器的地址栏输入
https://repo.spring.io/后回车,出现如下界面,按下图操作。第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第9页基于Spring的HelloWorld本节将使用Spring框架创建一个简单的HelloWorld程序,为了简化程序,本例创建的是一个Java工程。下载commons-logging.jar新建UserLibrarySpringHelloWorld示例第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第10页主要内容9.1Spring框架简介 9.2从HelloWorld开始 9.3SpringIoC
9.4SpringAOP9.5本章小结 9.6思考和练习第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第11页9.3SpringIoCIoC是InversionofControl的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序。Spring通过IoC容器来管理所有Java对象的实例化和初始化,控制对象与对象之间的依赖关系。我们将由IoC容器管理的Java对象称为SpringBean,它与使用关键字new创建的Java对象没有任何区别。IoC容器是Spring框架中最重要的核心组件之一,它贯穿了Spring从诞生到成长的整个过程。控制反转包含两方面的内容:一个是控制,另一个是反转。第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第12页IoC容器IoC容器就是具有依赖注入功能的容器,IoC容器负责实例化、定位、配置应用程序中的对象及建立这些对象之间的依赖。应用程序不必直接在代码中新建相关的对象,应用程序由IoC容器进行组装。第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第13页BeanFactory
Spring框架提供XML配置文件来指定各个对象之间的依赖关系,在XML配置文件中,每个对象都以bean的形式配置。在程序的整个执行过程中,正是通过BeanFactory提供的IoC机制,使得容器得以正常工作。BeanFactory对bean的常见操作主要包括如下几个部分:创建bean初始化JavaBean使用JavaBean销毁JavaBean第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第14页ApplicationContext为了增强BeanFactory的功能,Spring框架提供了ApplicationContext接口。org.springframework.context.ApplicationContext接口继承了BeanFactory,除了支持BeanFactory的功能外,还能支持企业级应用的其它功能,如事务管理、国际化支持、AOP集成等。第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第15页bean的装配Spring中所有的组件都是以bean的形式存在的,创建应用对象之间协作关系的行为通常称为装配。在Spring框架中,可以使用XML配置文件进行显式配置,也可以使用注解的形式来装配bean。不管使用哪种方式,实质上都是为Spring容器提供bean的定义信息。第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第16页主要内容9.1Spring框架简介 9.2从HelloWorld开始 9.3SpringIoC 9.4SpringAOP9.5本章小结 9.6思考和练习第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第17页9.4SpringAOPAOP(Aspect-OrientedProgramming,面向方面编程)可以说是对OOP(Object-OrientedProgramming,面向对象编程)的补充和完善。为了更好地理解AOP,我们先来看一下AOP中比较重要的一些概念:方面(Aspect)连接点(JoinPoint)通知(Advice)切入点(PointCut)引入(Introduction)目标对象(TargetObject)AOP代理(AOPProxy)织入(Weaving)第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第18页使用Spring的通知SpringAOP框架用于在模块化方面的横切关注点。简单来说,它只是一个拦截器,拦截一些过程。例如,当一个方法执行时,SpringAOP可以劫持一个执行的方法,在方法执行之前或之后添加额外的功能。在SpringAOP中,支持4种类型的通知(Advice):前置通知(Beforeadvice)后置通知(Afterreturningadvice)异常通知(Afterthrowingadvice)环绕通知(AroundAdvice)第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第19页主要内容9.1Spring框架简介 9.2从HelloWorld开始 9.3SpringIoC 9.4SpringAOP9.5本章小结
9.6思考和练习第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第20页本章小节本章介绍了Spring框架的基础知识,包括Spring框架的模块结构、Spring的IoC思想和实现以及SpringAOP的相关知识与编程思想。首先从Spring诞生的背景讲起,介绍了Spring框架的特点、Spring框架的模块结构;接下来通过一个简单的HelloWorld程序介绍了Spring开发环境的搭建,包括下载Spring资源包,下载Spring依赖的日志工具包commons-logging.jar以及Spring的HelloWorld程序的运行过程;然后重点讲解了Spring框架的核心——IoC,包括IoC的基本概念、IoC容器以及bean的装配;最后介绍了SpringAOP的相关内容,包括AOP的相关概念和使用Spring的通知。读者应重点掌握的是Spring的IoC思想和bean的装配方式。第九章Spring框架基础JavaWeb程序设计教程(第二版)(微课版)
第21页主要内容9.1Spring框架简介 9.2从HelloWorld开始 9.3SpringIoC 9.4SpringAOP9.5本章小结 9.6思考和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年辽宁省葫芦岛市高二(下)期末数学试卷(含答案)
- 2025年民航物流科普知识竞赛题库
- 2025年忍耐度测试题目及答案
- 2025年课外试题及答案
- 2025年无编程能力考试题及答案
- 2025年交投集团考试题及答案
- 2025年肯德基全职测试题及答案
- 2025年遇险报警测试题及答案
- 2025年市政上岗证试题及答案
- 2025年低视力的测试题及答案
- 实验室留样管理制度
- 2025-2030中国阻焊油墨行业运行现状与场竞争格局分析报告
- 建筑桩基技术规范 JGJ 94-2008知识培训
- 公司电商财务管理制度
- 2025年中国铷铯及其化合物行业市场前景预测及投资价值评估分析报告
- 医院口腔科管理制度
- T/CIIA 014-2022智慧工地总体规范
- T/CATCM 001.1-2017保健类眼贴第1部分:通用要求
- 温泉游泳馆免责协议书
- 移交模具协议书
- 风力发电转让协议书
评论
0/150
提交评论