当前播放: 24 | Spring IoC依赖来源:依赖注入和查找的对象来自于哪里?
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:Spring Framework总览 (12讲)
01 | 课程介绍
免费
02 | 内容综述
免费
03 | 课前准备:学习三件套(工具、代码与大脑)
免费
04 | 特性总览:核心特性、数据存储、Web技术、框架整合与测试
免费
05 | Spring版本特性:Spring各个版本引入了哪些新特性?
免费
06 | Spring模块化设计:Spring功能特性如何在不同模块中组织?
07 | Java语言特性运用:各种Java语法特性是怎样被Spring各种版本巧妙运用的?
08 | JDK API实践:Spring怎样取舍Java I/O、集合、反射、动态代理等API的使用?
09 | Java EE API整合:为什么Spring要与“笨重”的Java EE共舞?
10 | Spring编程模型:Spring实现了哪些编程模型?
11 | Spring核心价值:我们能从Spring Framework中学到哪些经验和教训呢?
12 | 面试题精选
第二章:重新认识IoC (9讲)
13 | IoC发展简介:你可能对IoC有些误会?
14 | IoC主要实现策略:面试官总问IoC和DI的区别,他真的理解吗?
15 | IoC容器的职责:IoC除了依赖注入,还涵盖哪些职责呢?
16 | 除了Spring,还有其它的IOC容器实现吗?
17 | 传统IoC容器实现:JavaBeans也是IoC容器吗?
18 | 轻量级IoC容器:如何界定IoC容器的“轻重”?
19 | 依赖查找 VS. 依赖注入:为什么 Spring 总会强调后者,而选择性忽视前者?
20 | 构造器注入 VS. Setter 注入:为什么 Spring 官方文档的解读会与作者的初心出现偏差?
21 | 面试题精选
第三章:Spring IoC容器概述 (9讲)
22 | Spring IoC依赖查找:依赖注入还不够吗?依赖查找存在的价值几何?
23 | Spring IoC依赖注入:Spring提供了哪些依赖注入模式和类型呢?
24 | Spring IoC依赖来源:依赖注入和查找的对象来自于哪里?
25 | Spring IoC配置元信息:Spring IoC有哪些配置元信息?它们的进化过程是怎样的?
26 | Spring IoC容器:BeanFactory和ApplicationContext谁才是Spring IoC容器?
27 | Spring应用上下文:ApplicationContext除了IoC容器角色,还提供哪些特性?
28 | 使用Spring IoC容器:选BeanFactory还是ApplicationContext?
29 | Spring IoC容器生命周期:IoC容器启停过程中发生了什么?
30 | 面试题精选
第四章:Spring Bean基础 (11讲)
31 | 定义Bean:什么是BeanDefinition?
32 | BeanDefinition元信息:除了Bean名称和类名,还有哪些Bean元信息值得关注?
33 | 命名Spring Bean:id和name属性命名Bean,哪个更好?
34 | Spring Bean的别名:为什么命名Bean还需要别名?
35 | 注册Spring Bean:如何将BeanDefinition注册到IoC容器?
36 | 实例化Spring Bean:Bean实例化的姿势有多少种?
37 | 初始化Spring Bean:Bean初始化有哪些方式?
38 | 延迟初始化Spring Bean:延迟初始化的Bean会影响依赖注入吗?
39 | 销毁Spring Bean: 销毁Bean的基本操作有哪些?
40 | 回收Spring Bean:Spring IoC容器管理的Bean能够被垃圾回收吗?
41 | 面试题精选
第五章:Spring IoC依赖查找(Dependency Lookup) (9讲)
42 | 依赖查找的今世前生:Spring IoC容器从Java标准中学到了什么?
43 | 单一类型依赖查找:如何查找已知名称或类型的Bean对象?
44 | 集合类型依赖查找:如何查找已知类型多个Bean集合?
45 | 层次性依赖查找:依赖查找也有双亲委派?
46 | 延迟依赖查找:非延迟初始化Bean也能实现延迟查找?
47 | 安全依赖查找
48 | 内建可查找的依赖:哪些Spring IoC容器内建依赖可供查找?
49 | 依赖查找中的经典异常:Bean找不到?Bean不是唯一的?Bean创建失败?
50 | 面试题精选
第六章:Spring IoC依赖注入(Dependency Injection) (20讲)
51 | 依赖注入的模式和类型:Spring提供了哪些依赖注入的模式和类型?
52 | 自动绑定(Autowiring):为什么Spring会引入Autowiring?
53 | 自动绑定(Autowiring)模式:各种自动绑定模式的使用场景是什么?
54 | 自动绑定(Autowiring)限制和不足:如何理解和挖掘官方文档中深层次的含义?
55 | Setter方法依赖注入:Setter注入的原理是什么?
56 | 构造器依赖注入:官方为什么推荐使用构造器注入?
57 | 字段注入:为什么Spring官方文档没有单独列举这种注入方式?
58 | 方法注入:方法注入是@Autowired专利吗?
59 | 接口回调注入:回调注入的使用场景和限制有哪些?
60 | 依赖注入类型选择:各种依赖注入有什么样的使用场景?
61 | 基础类型注入:String和Java原生类型也能注入Bean的属性,它们算依赖注入吗?
62 | 集合类型注入:注入Collection和Map类型的依赖区别?还支持哪些集合类型?
63 | 限定注入:如何限定Bean名称注入?如何实现Bean逻辑分组注入?
64 | 延迟依赖注入:如何实现延迟执行依赖注入?与延迟依赖查找是类似的吗?
65 | 依赖处理过程:依赖处理时会发生什么?其中与依赖查找的差异在哪?
66 | @Autowired注入:@Autowired注入的规则和原理有哪些?
67 | JSR-330 @Inject注入:@Inject与@Autowired的注入原理有怎样的联系?
68 | Java通用注解注入原理:Spring是如何实现@Resource和@EJB等注解注入的?
69 | 自定义依赖注入注解:如何最简化实现自定义依赖注入注解?
70 | 面试题精选
第七章:Spring IoC依赖来源(Dependency Sources) (8讲)
71 | 依赖查找的来源:除容器内建和自定义Spring Bean之外,还有其他来源提供依赖查找吗?
72 | 依赖注入的来源:难道依赖注入的来源与依赖查找的不同吗?
73 | Spring容器管理和游离对象:为什么会有管理对象和游离对象?
74 | Spring Bean Definition作为依赖来源:Spring Bean的来源
75 | 单例对象作为依赖来源:单体对象与普通Spring Bean存在哪些差异?
76 | 非Spring容器管理对象作为依赖来源:如何理解ResolvableDependency?
77 | 外部化配置作为依赖来源:@Value是如何将外部化配置注入Spring Bean的?
78 | 面试题精选
第八章:Spring Bean作用域(Scopes) (9讲)
79 | Spring Bean作用域:为什么Spring Bean需要多种作用域?
80 | "singleton" Bean作用域:单例Bean在当前Spring应用真是唯一的吗?
81 | "prototype" Bean作用域:原型Bean在哪些场景下会创建新的实例?
82 | "request" Bean作用域:request Bean会在每次HTTP请求创建新的实例吗?
83 | "session" Bean作用域:session Bean在Spring MVC场景下存在哪些局限性?
84 | "application" Bean作用域:application Bean是否真的有必要?
85 | 自定义Bean作用域:设计Bean作用域应该注意哪些原则?
86 | 课外资料:Spring Cloud RefreshScope是如何控制Bean的动态刷新?
87 | 面试题精选
第九章:Spring Bean生命周期(Bean Lifecycle) (18讲)
88 | Spring Bean 元信息配置阶段:BeanDefinition配置与扩展
89 | Spring Bean 元信息解析阶段:BeanDefinition的解析
90 | Spring Bean 注册阶段:BeanDefinition与单体Bean注册
91 | Spring BeanDefinition合并阶段:BeanDefinition合并过程是怎样出现的?
92 | Spring Bean Class加载阶段:Bean ClassLoader能够被替换吗?
93 | Spring Bean实例化前阶段:Bean的实例化能否被绕开?
94 | Spring Bean实例化阶段:Bean实例是通过Java反射创建吗?
95 | Spring Bean实例化后阶段:Bean实例化后是否一定被是使用吗?
96 | Spring Bean属性赋值前阶段:配置后的PropertyValues还有机会修改吗?
97 | Aware接口回调阶段:众多Aware接口回调的顺序是安排的?
98 | Spring Bean初始化前阶段:BeanPostProcessor
99 | Spring Bean初始化阶段:@PostConstruct、InitializingBean以及自定义方法
100 | Spring Bean初始化后阶段:BeanPostProcessor
101 | Spring Bean初始化完成阶段:SmartInitializingSingleton
102 | Spring Bean销毁前阶段:DestructionAwareBeanPostProcessor用在怎样的场景?
103 | Spring Bean销毁阶段:@PreDestroy、DisposableBean以及自定义方法
104 | Spring Bean垃圾收集(GC):何时需要GC Spring Bean?
105 | 面试题精选
第十章:Spring配置元信息(Configuration Metadata) (9讲)
106 | Spring配置元信息:Spring存在哪些配置元信息?它们分别用在什么场景?
107 | Spring Bean配置元信息:BeanDefinition
108 | Spring Bean属性元信息:PropertyValues
109 | Spring容器配置元信息
110 | 基于XML资源装载Spring Bean配置元信息
111 | 基于Properties资源装载Spring Bean配置元信息:为什么Spring官方不推荐?
112 | 基于Java注解装载Spring Bean配置元信息
113 | Spring Bean配置元信息底层实现之XML资源
114 | Spring Bean配置元信息底层实现之Properties资源
24 | Spring IoC依赖来源:依赖注入和查找的对象来自于哪里?

24 | Spring IoC依赖来源:依赖注入和查找的对象来自于哪里?

小马哥
《Spring Boot 编程思想》作者
239讲 约2500分钟7959
单独订阅¥199
2人成团¥129
3
本节摘要
登录 后留言

精选留言(11)

  • 囊子
    老师,内建Bean和内建依赖如何区别,依赖也是依赖某个Bean,既然这个依赖的Bean不是自定义的Bean,它必然也是容器内建的Bean。难道仅仅是从使用方式上作以区分吗?

    作者回复: 实际上,内建的 Bean 是普通的 Spring Bean,包括 BeanDefinitions 和 Singleton Objects,而内建依赖则是通过 AutowireCapableBeanFactory 中的 resolveDependency 方法来注册,这并非是一个 Spring Bean,无法通过依赖查找获取~

    2020-01-02
    1
    9
  • 阿锋
    自定义的bean和内建的bean能够通过依赖查找查询到,但是内建依赖是不能通过依赖查找查询到,因为他们的来源不同,小马哥意思是这样么?

    作者回复: 就是这个意思

    2020-01-08
    4
  • Alpha 👀
    老师,请问内部容器构建的依赖指的是什么?没听懂,求解惑~

    作者回复: 实际上,Spring IoC 底层容器就是指的 BeanFactory 的实现类,大多数情况是 DefaultListableBeanFactory 这个类,它来管理 Spring Beans,而 ApplicationContext 通常为开发人员接触到的 IoC 容器,它是一个 Facade,Wrap 了 BeanFactory 的实现。

    2020-01-04
    1
    2
  • 甘乐
    总结spring依赖来源的三个方向
    1. 自定义Bean(自己用xml配置或注解配置的bean)
    2. 内部容器依赖的Bean(非自己定义的Bean,spring容器初始化的Bean)
            3.内部容器所构建的依赖(非Bean,不可通过获取依赖查找Bean的方法来获取(getBean(XXX)))

    作者回复: Bingo!

    2020-02-04
    1
  • 安非他命π
    学习
    2020-03-22
  • lcadzy
    看了几遍,有点意思啊

    作者回复: 😀

    2020-03-21
  • Geek_10cba0
    老师,new的对象可以放入ioc容器吗

    作者回复: 可以的,通过 SingletonRegistry 注册单例对象

    2020-03-19
  • 阿汤哥
    老师,内建依赖在我们平时的业务开发中起到什么作用呢

    作者回复: 下周四我会在极客时间的直播时和大家讨论。

    2020-03-08
  • coder_Zzz
    第一遍听感觉讲的这是什么啊 完全听不懂,然后第二遍豁然开朗,奈何没文化心中只有“卧槽,小马哥牛逼啊”

    作者回复: 就喜欢你这样的城市小伙~

    2020-03-01
  • 周治慧
    打卡 依赖注入的来源有三种:1.自定义bean 2.内建依赖bean比如BeanFactory,通过依赖查找找不到该类型bean对象 3.内建bean对象,比如Environment对象 过瘾

    作者回复: 666

    2020-02-26
  • 严丹
    前面章节提及依赖注入和依赖查找的bean来源不同,不同点在哪里?好像没有解决

    作者回复: 在后面的章节,通过源码的角度会有详细说明,请关注更新哦~

    2020-01-14
收起评论
看过的人还看
MySQL实战45讲

林晓斌  网名丁奇,前阿里资深技术专家

48讲 | 48125 人已学习

拼团 ¥79 原价 ¥99
玩转Spring全家桶

丁雪丰  平安壹钱包高级架构师,《Spring Boot实战》《Spring攻略》译者,InfoQ社区编辑

123讲 | 27071 人已学习

拼团 ¥99 原价 ¥129
Java核心技术面试精讲

杨晓峰  前Oracle首席工程师

43讲 | 44855 人已学习

拼团 ¥79 原价 ¥99
数据结构与算法之美

王争  前Google工程师

79讲 | 77000 人已学习

拼团 ¥79 原价 ¥99