加载中
如何让 Bean 深度感知 Spring 容器

Spring 有一个特点,就是创建出来的 Bean 对容器是无感的,一个 Bean 是怎么样被容器从一个 Class 整成一个 Bean 的,对于 Bean 本身来说是不知道的,当然也不需要知道,也就是 Bean 对容器的...

Spring 冷知识:一个提前 AOP 的机会

今天再来聊一个 Spring 中的冷门知识:Bean 的处理不走正常流程,而是提前进行 AOP。 本文算是前面文章(Spring Bean 名称暗藏玄机,这样取名就不会被代理)内容的一个补充,如果还没阅读前文...

10/30 10:05
1.2K
Spring Bean 名称暗藏玄机,这样取名就不会被代理

一些使用小细节就是在不断的源码探索中逐步发现的,今天就来和小伙伴们聊一下通过 beanName 的设置,可以让一个 bean 拒绝被代理! 1. 代码实践 假设我有如下一个切面: @Aspect @EnableAsp...

10/24 11:41
1.5K
面试题解答:Spring Lifecycle 和 SmartLifecycle 有何区别?

当我们想在 Spring 容器启动或者关闭的时候,做一些初始化操作或者对象销毁操作,我们可以怎么做? 注意我这里说的是容器启动或者关闭的时候,不是某一个 Bean 初始化或者销毁的时候~ 1. L...

10/19 10:54
758
@Scope 注解失效了?咋回事

scope 属性,相信大家都知道,一共有六种: 取值 含义 生效条件 singleton 表示这个 Bean 是单例的,在 Spring 容器中,只会存在一个实例。 prototype 多例模式,每次从 Spring 容器中获取 ...

10/12 14:12
650
Spring Boot 接口一个 JSON 字符串用两个对象去接收,这能行吗?

@[toc] 这是最近一个小伙伴的提问,我觉得很有意思,和大伙聊一下。 小伙伴在工作中遇到类似下面这样一段代码: @RestController public class BookController { @PostMapping("/book") publ...

Spring 中三种 BeanName 生成器!

无论我们是通过 XML 文件,还是 Java 代码,亦或是包扫描的方式去注册 Bean,都可以不设置 BeanName,而 Spring 均会为之提供默认的 beanName,今天我们就来看看 Spring 中三种处理不同情况的...

Spring 条件注解没生效?咋回事

条件注解相信各位小伙伴都用过,Spring 中的多环境配置 profile 底层就是通过条件注解来实现的,松哥在之前的 Spring 视频中也有和大家详细介绍过条件注解的使用,感兴趣的小伙伴戳这里:Spr...

09/11 11:39
1.8K
七种 BeanDefinition,各显其能!

聚沙成塔!不知不觉 Spring 源码已经连续更了两个月啦,视频也录制了不少了,对 Spring 源码分析感兴趣的小伙伴戳这里哦Spring源码应该怎么学?~ 今天我们继续来看 Spring 源码中一个非常重...

FactoryBean 和它的兄弟SmartFactoryBean!

之前松哥写过一篇文章,跟小伙伴们介绍了我们在面试中非常常见的一道面试题: Spring 中 BeanFactory 和 FactoryBean 有何区别? 在这篇文章中,松哥也和各位小伙伴演示了了 FactoryBean 的一...

08/31 11:43
1.6K
一道经典面试题:@Configuration 和 @Component 有何区别?

关于 @Configuration 注解有一个特别经典的面试题: @Configuration 和 @Component 有什么区别? 无论小伙伴们之前是否背过相关的面试题,今天这篇文章学完之后相信大家对这个问题都会有更深...

@Configuration 注解的 Full 模式和 Lite 模式!

@Configuration 注解相信各位小伙伴经常会用到,但是大家知道吗,这个注解有两种不同的模式,一种叫做 Full 模式,另外一种则叫做 Lite 模式。 准确来说,Full 模式和 Lite 模式其实 Spring...

08/28 10:55
1.7K
似懂非懂的 AspectJ

今天想和小伙伴们聊一下我们在使用 Spring AOP 时,一个非常常见的概念 AspectJ。 1. 关于代理 小伙伴们知道,Java 23 种设计模式中有一种模式叫做代理模式,这种代理我们可以将之称为静态代...

08/25 11:39
1.5K
Spring 中 @Primary 注解的原理是什么?

问题分析 当我们使用 Spring 的时候,有时候会遇到下面这种情况。 假设我有 A、B 两个类,在 A 中注入 B,如下: @Component public class A { @Autowired B b; } 至于 B,则在配置类中存在多...

08/21 11:44
1.8K
Spring BeanDefinition 也分父子关系?

在 Spring 框架中,BeanDefinition 是一个核心概念,用于定义和配置 bean 的元数据,虽然在实际应用中,我们一般并不会或者很少直接定义 BeanDefinition,但是,我们在 XML 文件中所作的配置...

08/16 15:25
1.6K
Spring 中 @Qualifier 注解还能这么用?

@[toc] 今天想和小伙伴们聊一聊 @Qualifier 注解的完整用法,同时也顺便分析一下它的实现原理。 说到 @Qualifier,有的小伙伴可能会觉得诧异,这也只得写一篇文章?确实,但凡有点开发经验,...

08/14 11:16
4.5K
透过源码,捋清楚循环依赖到底是如何解决的!

@[toc] 以下内容基于 Spring6.0.4。 关于 Spring 循环依赖,松哥已经连着发了三篇文章了,本篇文章松哥从源码的角度来和小伙伴们捋一捋 Spring 循环依赖到底是如何解决了。如果没看过前面的文...

08/09 11:28
4.9K
Spring 容器原始 Bean 是如何创建的?

以下内容基于 Spring6.0.4。 这个话题其实非常庞大,我本来想从 getBean 方法讲起,但一想这样讲完估计很多小伙伴就懵了,所以我们还是一步一步来,今天我主要是想和小伙伴们讲讲 Spring 容器...

听说 Spring Bean 的创建还有一条捷径?

@[toc] 在 Spring Bean 的创建方法中,有如下一段代码: AbstractAutowireCapableBeanFactory#createBean: @Override protected Object createBean(String beanName, RootBeanDefinition mb...

07/28 17:01
1.8K

没有更多内容

加载失败,请刷新页面

返回顶部
顶部