《《JavaEE企业级应用开发案例教程》教案第2课Spring基础.docx》由会员分享,可在线阅读,更多相关《《JavaEE企业级应用开发案例教程》教案第2课Spring基础.docx(7页珍藏版)》请在第壹文秘上搜索。
1、课题Spring基础课时2课时(90min)教学目标知识目标:(1)了解SPring的优点、体系结构、下载方法和目录结构(2)理解Spring的控制反转和依赖注入,了解SpringIoC容器的工作原理和常用接口能力目标:能创建Java项目实现Spring的简单应用素质目标:通过了解SPring的产生和发展,养成思考和分析问题的习惯,培养创新能力,具备勇于创新、虚心好学的品质教学重难点教学重点:SPring的优点,Spring的体系结构,Spring下载及目录结构,SpringIoC容器教学难点:SPringIoC容器教学方法问答法、讨论法、讲授法、演示法、任务驱动法教学用具电脑、投影仪、多媒体
2、课件、教材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务请同学们查找Spring官方网站,以及Spring的下载地址,在自己个人电脑上进行下载。【学生】完成课前任务考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:上次课我们介绍SSM框架时,简单介绍了Spring,那么Spring有哪些优点?【鞋】思考、传授新知【教师】讲解SPring概念、特点、体系结构,Spring的下载及目录结构,SpringI。C容器一、SPring概述【教师】讲解Spring的优点,以及Sprin
3、g的体系结构(一)Spring的优点Spring是目前JavaEE应用最广的框架之一,它的成功源于编程理念,而非技术本身。Spring的核心理念是控制反转(inverseofConIroI,IoC)和面向切面编程(aspectorientedprogramming,AOP),它是一种基于类的对象(即Bean)的编程,通过IoC容器管理Bean来实现Java应用的开发。Spring已经发展至Spring5版本,主要具有以下优点。(1)非侵入式设计。(2)方便解耦、简化开发。(3)支持AOPo(4)支持声明式事务管理。(5)方便程序测试。(6)支持各种优秀框架集成。(7)降低APl的使用难度。(详
4、见教材)()Spring的体系结构SPring采用分层架构,根据不同的功能划分为多个模块。【教师】展示Spring5的体系结构图(详见教材),并讲解Spring的每个模块都可以单独实现,也可以与其他模块联合实现,在开发过程中可以根据需求有选择地使用模块。1.DataAccessZIniegration(数据访问,集成)DataAccessZIntegration用于访问和操作数据库中的数据,主要包括JDBC、ORMxXOMxJMS和Transactions模块。(1)JDBC模块:提供了一个JDBC抽象层,支持数据库的资源管理和错误处理,大大简化了对数据库操作的编程。(2)ORM模块:支持流行
5、的对象关系映射API的集成,包括JPAxJDO和Hibemate等.(3)X0M模块:支持对象/XML映射的抽象层实现,如JAXB、Castor.XMLBeanssJiBX和XStream等。(4)JMS模块:提供了Java生产和消费消息功能,从Spring4.1开始,支持Messaging模块的集成。(5)Transactions模块:提供了事务管理功能,支持Spring自动处理声明式事务。2.Web(网络)Web主要提供了Web应用的各种工具类,包括WebSocket.WebMVCxWeb和WebFlux模块。(1)WebSocket模块:提供了Socket通信和Web端推送功能.(2)W
6、ebMVC模块:实现了SpringMVC的Web应用。(3)Web模块:为Spring提供了最基础的Wcb支持,通过Servlet监听器来初始化IoC容器和Web应用上下文。(4)WebFlux模块:Spring5.0版本以后新增的模块,用于建立异步的非阻塞事件驱动服务,并具有良好的扩展性。3 .CoreContainer(核心容器)CoreContainer是其他模块的基础,主要包括BeansxCorexContext和Expression模块。(1)Beans模块:提供了BeanFactory接口,实现了SpringIoC容器。(2)COre模块:SPring的核心模块,提供了框架的基本组
7、成部分,包括控制反转和依赖注入功能。(3)Context模块:Spring的上下文模块,建立在Beans和Core模块之上,它继承了Beans模块,并扩展了BeanFaCtory接口的功能,其中APPliCatiOnConteXt接口是ConteXt模块的核心接口。(4)Expression模块:提供了强大的表达式语言,用于在运行时查询和操作对象图。4 .其他模块Spring的其他模块包括AOP、AspectsxInstrumentationMessaging和Test模块。(1)AOP模块:支持面向切面编程,允许定义方法拦截器和接入点,将代码按照功能进行分离,以降彳氐耦合性。(2)Aspec
8、ts模块:支持与AspectJ的集成,AspectJ是一个功能强大且成熟的AOP框架,为AOP提供了多种实现方法。(3)Instrumentation模块:西三特定的应用服务器中使用代理类,实现AOP功能,它是AOP的一个支援模块。(4)Messaging模块:支持消息传递体系结构和协议。(5)Test模块:支持程序单元测试和集成测试。【课堂问答】【教师】随机遨请学生回答以下问题请同学们总结归纳,根据自己理解,用自己的语言描述Spring的体系结构。【学生】聆听、思考、回答【教师】总结学生的回答二、SPring下基及目录结构【教师】介绍Spring的下载地址,讲解Spring的目录结构Spri
9、ng是一个独立的框架,在使用前需要下载它的JAR包,可以看到Spring各版本压缩包的下载链接。由于Spring的最新稳定版本为5.3.22,所以单击“5322”链接,然后在下载页面单击Mspring-5.3.22-dist.zipM链接进行下载。解压下载后的压缩包文件,将生成spring-framework-5.3.22文件夹,其目录结构如图2-3所示(详见教材).Spring文件夹中包含3个子文件夹,其具体介绍如下.(1)docs文件夹:存放Spring的相关文档,包括开发指南、API参考文档等。(2)Iibs文件夹:存放Spring开发所需的JAR包和源代码。Spring5.3.22由2
10、2个模块组成,每个模块提3个压缩包,分别为以5.2.33.jar结尾的Spring的class文件压缩包、以5.3.22-javadoc.jar结尾的Spring文档压缩包、以5.3.22-SOUrCes.jar结尾的Spring源文件压缩包。(3)schema文件夹:存放Spring各种配置文件的XMLSchema文档。此外,使用Spring开发时f其核心容器还依赖CommonsJogging的JAR包,可通过单击“commons-logging-1.2-bin.ziph链接进行下载,解压下载后的压缩包文件即可找到commons-logging-1.2.jar【课堂问答】【教师】随机邀请学生
11、回答以下问题请同学们根据之前Java的知识,思考如何在Eclipse中导入上述的commons-logging-1.2.jarJAR包?【学生】聆听、思考、回答【教师】总结学生的回答三、SpringIoC容器*【教师】讲解SpringIoC容器基本概念,SpringIoC容器的常用接口()SpringIoC容器概述【教师】多媒体观看视频SpringIoC容器概述”(详见教材),让学生了解IoC与DI的概念、SpringIoC工作原理、实例化的类比举例在传统的面向对象编程中,获取对象的方式是应用程序使用关键字new主动创建一个对象,然后通过对象调用其属性或方法.使用Spring后,对象不再由应用
12、程序创建,而是由Spring的IoC容器来创建并建立它们之间的依赖关系,然后应用程序从IoC容器获取对象。这样,控制权由应用程序转移到了IoC容器,发生了反转,这就是Spring的IoCeIoC只是面向对象编程的一个设计原则,依赖注入(dependencyinjection,DI)则是IoC核心功能的一种实现方式,而IoC容器就是具有依赖注入功能的容器,它在运行期间动态地将某种依赖资源注入对象中,如将参数值或对象B注入(赋值给)对象A的属性。【课堂问答】*【教师】随机邀请学生回答以下问题请同学们总结归纳,IoC和DI有什么区别?【学生】聆听、思考、回答【教师】总结学生的回答SpringIoC容
13、器是Bean的创建者和管理者,它的工作原理如图2-5所示(详见教材)(1)在应用程序中定义Bean的实现类,如BeanUBean2等,然后通过XML文件、注瞬口Java类等方式配置Bean的信息。(2)启动Spring时,SpringIoC容器加载配置文件,读取Bean的配置信息,然后在容器中建立Bean定义注册表。(3)SpringIoC容器根据注册表通过Bean的实现类实例化Bean,并建立Bean之间的依赖关系。(4)SpringIoC容器将Bean放入Bean缓存池中备用。(5)应用程序中的调用者从SpringIoC容器中获取Bean实现程序功能。【课堂问答】【教师】随机邀请学生回答以
14、下问题请同学们总结归纳,根据自己理解,简述SpringIoC容器的工作原理。【学生】聆听、思考、回答【教师】总结学生的回答(二)SpringIoC容器的常用接口【教师】多媒体观看视频Springl。C容器的常用接口“(详见教材),让学生了解SPringIoC容器的各个接口,及接口的使用方法SpringIoC容器的实现主要基于BeanFactory接口和ApplicationContext接口。1 .BeanFactory接口BeanFactory接口是SpringIoC容器最基本的接口,采用了Java经典的工厂模式。BeanFactory接口提供了创建和管理Bean的方法,其中最常用的是g6B
15、ean()方法,用于获取Bean,其常用的语法格式如下。/通过Bean的唯一标识或名称获取BeangetBean(Stringname)/通过Bean的唯一标识或名称,以及实现类类型获取BeangetBean(Stringname,Classtype)例如,Bean的实现类为User,唯一标识为user,想要获取该Bean,可以通过下面两种方法实现。Useruserl=(User)context.getBean(,user);Useruser2=context.getBean(user,User.class);Spring提供了BeanFaCIOry接口的实现类,其中最常用的是XmIBeanFactory类,它可以读取XML配置文件,并根据其中的配置信息生成BeanFaCtory接口的实例,其语法格式如下。BeanFactorybeanFactory=newXmlBeanFactory(newFileSystemResource(StringConfigLocation)其中,COnfigLOCaliOn表示XML配置文件的路径和名称,如DJapplicationCon