首页 > 编程语言 > 详细

Spring

时间:2019-05-07 18:17:09      阅读:132      评论:0      收藏:0      [点我收藏+]

spring模块

技术分享图片

配置bean

  • 配置形式:基于 XML 文件的方式;基于注解的方式
  • Bean 的配置方式:通过全类名(反射)、通过工厂方法(静态工厂方法 & 实例工厂方法)、FactoryBean
  • IOC 容器 BeanFactory & ApplicationContext 概述
  • 依赖注入的方式:属性注入;构造器注入
  • 注入属性值细节
  • 自动转配
  • bean 之间的关系:继承;依赖
  • bean 的作用域:singleton;prototype;WEB 环境作用域
  • 使用外部属性文件
  • spEL
  • IOC 容器中 Bean 的生命周期
  • Spring 4.x 新特性:泛型依赖注入

在 Spring 的 IOC 容器里配置 Bean

  • 在 xml 文件中通过 bean 节点来配置 bean

  技术分享图片

  • id:Bean 的名称。

    在 IOC 容器中必须是唯一的
    若 id 没有指定,Spring 自动将权限定性类名作为 Bean 的名字
    id 可以指定多个名字,名字之间可用逗号、分号、或空格分隔

Spring 容器

  • Spring IOC 容器读取 Bean 配置创建 Bean 实例之前, 必须对它进行实例化. 只有在容器实例化后, 才可以从 IOC 容器里获取 Bean 实例并使用.
  • Spring 提供了两种类型的 IOC 容器实现.
    • BeanFactory: IOC 容器的基本实现.
    • ApplicationContext: 提供了更多的高级特性. 是 BeanFactory 的子接口.
    • BeanFactory 是 Spring 框架的基础设施,面向 Spring 本身;ApplicationContext 面向使用 Spring 框架的开发者,几乎所有的应用场合都直接使用 ApplicationContext 而非底层的 BeanFactory
    • 无论使用何种方式, 配置文件时相同的.

 ApplicationContext

  •  ApplicationContext 的主要实现类:
    •   ClassPathXmlApplicationContext:从 类路径下加载配置文件
    •   FileSystemXmlApplicationContext: 从文件系统中加载配置文件
  • ConfigurableApplicationContext 扩展于 ApplicationContext,新增加两个主要方法:refresh() 和 close(), 让 ApplicationContext 具有启动、刷新和关闭上下文的能力
  • ApplicationContext 在初始化上下文时就实例化所有单例的 Bean。
  • WebApplicationContext 是专门为 WEB 应用而准备的,它允许从相对于 WEB 根目录的路径中完成初始化工作

  技术分享图片

从 IOC 容器中获取 Bean

  • 调用 ApplicationContext 的 getBean() 方法

   技术分享图片

依赖注入的方式

  • Spring 支持 3 种依赖注入的方式
    • 属性注入
    • 构造器注入
    • 工厂方法注入(很少使用,不推荐)

  属性注入

  • 属性注入即通过 setter 方法注入Bean 的属性值或依赖的对象
  • 属性注入使用 <property> 元素, 使用 name 属性指定 Bean 的属性名称,value 属性或 <value> 子节点指定属性值
  • 属性注入是实际应用中最常用的注入方式

  构造方法注入

    •  通过构造方法注入Bean 的属性值或依赖的对象,它保证了 Bean 实例在实例化后就可以使用。
    • 构造器注入在 <constructor-arg> 元素里声明属性, <constructor-arg> 中没有 name 属性。

  按索引匹配入参:
  技术分享图片

  按类型匹配入参:
  技术分享图片

照搬:尚硅谷 -- Spring.pptx。

Spring

原文:https://www.cnblogs.com/day1day1up/p/10826985.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!