Spring笔记

Spring笔记

Spring笔记_第1张图片

核心概念

IoC:控制反转

  • 对象的创建控权由程序转移到外部。 --> 解耦
  • 主动new对象转换为IoC容器提供对象

Spring提供IoC容器,IoC容器负责对象的创建、初始化等工作。被创建或被管理的对象在IoC容器中称为Bean
DI(Dependency Injection)依赖注入

  • 在容器中建立bean与bean之间的依赖关系

使用对象时,不仅可以直接从IoC容器获取,并且获取到的bean已经绑定了所有的依赖关系。充分解耦

bean配置

  • 基础配置
  • 别名配置
  • bean作用范围:
    Spring笔记_第2张图片
    Spring笔记_第3张图片
    Error:
    No bean named 'service4' available
    Spring笔记_第4张图片
    解决:检查bean的名字

实例化bean

构造方法[利用反射,调用无参构造方法,午餐构造方法不存在,则抛异常BeanCreationException]
静态工厂
实例工厂 FactoryBean

Spring笔记_第5张图片

FactoryBean
  • 实现FectoryBean接口
    Spring笔记_第6张图片
  • 配置:
    在这里插入图片描述- 控制是否单例
    Spring笔记_第7张图片
bean的生命周期

bean生命周期控制:配置;实现接口
关闭容器方法:
Spring笔记_第8张图片

初始化容器:
  • 1、创建对象
  • 2、执行构造方法
  • 3、执行属性注入(set操作)
  • 4、执行bean的初始化方法
使用bean – 执行业务操作
关闭/消耗容器 –执行bean消耗方法

依赖注入方式

  • 普通方法(setter注入):注入简单类型(基本数据类型和String)和引用类型
  • 构造方法(构造器类型):注入简单类型和引用类型
setter注入简单类型

Spring笔记_第9张图片

依赖自动装配
  • IoC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配。
  • 自动装配方式:按类型,按名称,按构造方法,不启用自动装配。
  • 自动装配用于引用类型,不能对简单类型操作
  • 自动装配优先级低于setter注入与构造器注入。
集合注入
Spring 加载propertise配置

步骤:

  • 开启context命名空间
    开启新的命名空间:
    Spring笔记_第10张图片
  • 使用context空间加载propertise文件
  • 使用属性占位符 **${}**读取propertise文件中的属性
    Spring笔记_第11张图片
    系统环境变量的优先级高于properties配置
    在这里插入图片描述
容器

容器初始化(以加载配置文件为例)

  • 加载类路径下的配置文件
  • 从文件系统下加载配置文件
获取bean的方法

在这里插入图片描述
BeanFactory:所有容器类的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载;

  • ApplicationContext接口是Spring容器的核心接口,初始化时bean立即加载

你可能感兴趣的:(java学习笔记,1024程序员节)