Spring框架核心詳解-基于xml配置方式-古老的笔记回头看看发现还是很有帮助的

一、IOC基础容器

目录

  • 传统JavaWeb开发的困惑
  • Ioc、DI、AOP思想提出
  • Spring框架的诞生
  • 基于xml的Spring应用
  • 基于注解的Spring应用

1、传统Java开发的问题

传统java开发需要自己用new的方式获得对象,并且很多公共的对象也需要重复new。

  • 问题一:层与层之间的紧密度耦合在了一起,接口与具体实现紧密耦合在了一起

    解决思路:

    程序代码中不要手动new对象,第三方根据要求为程序提供需要的Bean对象

  • 问题二:通用的事务功能耦合在业务代码中,通用的日志功能耦合在业务代码中

    解决思路:

    程序代码中不要手动new对象,第三方根据要求为程序提供需要的Bean对象

这就引入了一个 工厂模式 设计模式

在这里插入图片描述

2、IoC、DI、AOP思想提出

  • IoC控制反转思想
    在这里插入图片描述

Inversion of Control控制反转,强调的是原来在程序中创建Bean的权利反转给第三方。

  • DI依赖注入思想
    Dependency Injection依赖注入,强调的Bean之间关系,这种关系由第三方负责去设置。
  • AOP面向切面思想
    Aspect Oriented Programming面向切面编程,功能的横向抽取,主要的实现方式就是Proxy
  • 框架概念的出现

3、Spring框架的诞生

  • Spring框架概述
  • Spring框架的历史
  • Spring Framework技术栈
  • BeanFactory快速入门
  • ApplicationContext快速入门
  • BeanFactory与ApplicationContext的关系
  • BeanFactory的继承体系
  • ApplicationContext的继承体系
    在这里插入图片描述
BeanFactory快速入门

在这里插入图片描述

  • 导入Spring的jar包或Maven坐标
    spring-context
  • 编写UserSerice接口及其实UserSericeImpl现类
  • 创建beans.xml配置文件,将UserSericeImpl的信息配置到该xml中
  • 编写测试代码,创建BeanFactory加载配置文件,获取UserService实例对象
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

ApplicationContext快速入门

在这里插入图片描述

BeanFactory与ApplicationContext的关系

在这里插入图片描述

BeanFactory的继承体系

DefaultListableBeanFactory
在这里插入图片描述

ApplicationContext的继承体系

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4、基于xml的Spring应用

  • SpringBean的配置详解
  • Spring的get方法
  • Spring配置非自定义Bean
  • Bean实例化的基本流程
  • Spring的后处理器
  • Spring Bean的生命周期
  • Spirng IoC整体流程总结
  • Spring xml方式整合第三方框架
4.1 SpringBean的配置详解

在这里插入图片描述

  • Bean的基本配置
    在这里插入图片描述

  • Bean的别名配置

  • Bean的范围配置
    在这里插入图片描述

  • Bean的延迟加载
    在这里插入图片描述

  • 初始化方法和销毁方法
    在这里插入图片描述

  • 实现InitializingBean接口完成一些Bean的初始化
    在这里插入图片描述

  • Bean的实例化配置
    在这里插入图片描述

    • 构造方法实例化Bean
      在这里插入图片描述

    • 工厂方式实例化Bean

      • 静态工厂方法实例化Bean

      • 实例工厂方法实例化Bean

      • 实现FactoryBean规范延迟实例化Bean

    • Bean的依赖注入配置
      在这里插入图片描述
      在这里插入图片描述

      • 注入List
        在这里插入图片描述
        在这里插入图片描述
    • Spring的其他配置标签
      在这里插入图片描述

      • Spring默认标签
        在这里插入图片描述

        • Beans标签
          在这里插入图片描述

        • import标签
          在这里插入图片描述

        • alias标签
          在这里插入图片描述

      • Spring自定义标签
        在这里插入图片描述

4.2 Spring的get方法

在这里插入图片描述

4.3 Spring配置非自定义Bean

在这里插入图片描述

1) 配置Druid数据源交由Spring管理
  • 导入Druid坐标
    在这里插入图片描述

  • 配置bean
    在这里插入图片描述

  • 代码测试

在这里插入图片描述

2) 配置Connection交由Spring管理

在这里插入图片描述

3) 配置日期对象交由Spring管理

在这里插入图片描述

4) 配置MyBatis的SqlSessionFactory交由Spring管理

在这里插入图片描述
在这里插入图片描述

4.4 Bean实例化的基本流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.5 Spring的后处理器

重要
在这里插入图片描述

  • BeanFactoryPostProcessor
    在这里插入图片描述

  • BeanDefinitionRegistryPostProcessor
    在这里插入图片描述
    在这里插入图片描述

借助Spring的后处理实现自定义注解代替beans.xml将bean注册到spring
在这里插入图片描述

  • BeanPostProcessor
    在这里插入图片描述
    在这里插入图片描述
4.6 Spring Bean的生命周期

在这里插入图片描述

初始化阶段执行步骤-Bean实例的属性填充

在这里插入图片描述

  • 属性注入的三种情况
    在这里插入图片描述
循环引用(循环依赖)

什么是循环引用
在这里插入图片描述

在这里插入图片描述

三级缓存
在这里插入图片描述

循环引用创建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Aware接口属性注入

在这里插入图片描述

4.7 Spirng IoC整体流程总结

在这里插入图片描述

4.8 Spring xml方式整合第三方框架
Spring xml整合第三方框架的两种方案

在这里插入图片描述

Spring 整合Mybatis
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老齐谈电商

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值