软件架构设计实践— 基于SSM框架 课件 第5章 Spring的IoC机制.pptx

软件架构设计实践— 基于SSM框架 课件 第5章 Spring的IoC机制.pptx

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

基于SSM框架的软件架构设计实战SoftwareArchitectureDesignPracticeBasedonSSMFramework

第5章Spring的IoC机制1234IoC的概念基于XML的配置基于注解的配置基于Java类的配置

IoC的概念

IoC的概念所谓控制反转是指将某一接口(或类)的具体实现类(或子类)的选择权从调用者手中移除,转交给第三方,使得程序中所有对象的创建过程都由第三方统一管理,当代码中需要使用某一类的对象时,只需要从第三方直接获取即可。IoC并不是一种特定的技术,而是一种设计思想,其主要目的就是接管系统中各个对象的创建过程,使产生依赖关系的两个对象之间摆脱依赖关系,达到模块间解耦的目的。

IoC的概念控制反转和工厂模式IoC是一种程序设计思想,而不是一种特定的技术,工厂模式是一种设计模式,是在长期的软件设计工作中总结出来的用于解决软件设计问题的模式,它是针对对象创建问题提出的一种具体解决方案。通过工厂模式,可以实现IoC这种思想,因此可以说,工厂模式是实现控制反转的一种方式。

IoC的概念控制反转和依赖注入应用IoC思想后,对象的创建过程虽然不需要调用者进行管理,但对象的各个成员的初始化还是需要调用者负责,而依赖注入(DependencyInjection,DI)指的就是将对象的内各个成员的初始化和赋值工作也交给第三方,不需要开发人员手动管理。因此,可以说控制反转和依赖注入所表达的是同一种软件设计思想。

IoC的概念Spring中的控制反转在Spring中,将程序中要使用的各个对象称为Bean,而对象(也就是Bean)的管理者称为容器(Container),SpringIoC包括以下组成部分:1.资源描述组件2.资源加载组件3.Bean描述组件4.Bean构造组件5.容器组件6.Bean注册组件

应用程序XML注解Java类Bean配置信息Spring容器Bean实现类Class1Class2……Bean定义注册表Bean缓存池1.读取Bean配置信息2.根据Bean注册表实例化Bean3.将Bean实例放到缓存池中4.使用Bean

IoC的概念Spring中的控制反转SpringIoC容器首先读取Bean的配置信息,这些配置信息可能来自于XML配置文件、代码注解或Java类,而后根据Bean的配置信息对Bean进行装配,并将装配好的Bean存入容器的Bean缓存池中,应用程序使用Bean时,只需从容器中获取即可。在Spring的当前版本中,支持三种配置方式,分别为:基于XML的配置基于注解的配置基于Java类的配置

基于XML的配置

基于XML的配置——Bean的实例化实例化Bean的三种方法默认构造函数静态工厂实例工厂

方法1:使用默认构造函数前提:Bean的实现类必须有默认构造函数基于XML的配置——Bean的实例化配置文件:

基于XML的配置——Bean的实例化测试代码:

方法2:使用静态工厂前提:工厂类中要有静态生产方法基于XML的配置——Bean的实例化工厂类:

基于XML的配置——Bean的实例化配置文件:

方法3:使用实例工厂前提:工厂类中要有非静态生产方法基于XML的配置——Bean的实例化工厂类:

基于XML的配置——Bean的实例化配置文件:

基于XML的配置——Bean的生命周期与Bean的生命周期有关的配置设置Bean的作用范围(scope属性)延迟初始化(lazy-init和default-lazy-init属性)初始化方法和销毁方法(init-method和destroy-method属性)

设置Bean的作用范围(scope属性)基于XML的配置——Bean的生命周期配置文件:

基于XML的配置——Bean的生命周期scope属性的可选值singleton(默认):在容器初始化时创建Bean,每次取到的是同一实例prototype:在每次获取时创建Bean,每次取到的是新的实例request:每次HTTP连接创建一个新的Bean实例session:同一个Session共享一个Bean实例application:同一个Application共享一个Bean实例websocket:每次websocket连接创建一个新的Bean实例

延迟初始化(lazy-init和default-lazy-init属性)作用:在Bean的作用范围为singleton时,第一次获取Bean时创建实例只有当scope属性为singleton时这两个属性才有效基于XML的配置——Bean的生命周期配置文件:或:

Bean的初始化和销毁方法(init-method和destroy-method属性)作用:配置在Bean创建完成和销毁之前需要调用的方法注意

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档