首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
程序员小黑
掘友等级
Java攻城狮
一个有趣的程序员。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
36
文章 36
沸点 0
赞
36
返回
|
搜索文章
赞
文章( 36 )
沸点( 0 )
使用 BeanDefinition 描述 Spring Bean
在Java中,一切皆对象。在JDK中使用java.lang.Class来描述类这个对象。 在Spring中,存在bean这样一个概念,那Spring又是怎么抽象bean这个概念,用什么类来描述bean这个对象呢?Spring使用BeanDefinition来描述bean。 Be…
Spring5源码解析1-从启动容器开始
先来看一下AnnotationConfigApplicationContext类的UML图,留个印象。 该构造器允许我们传入一个或者多个class对象。class对象可以是被@Configuration标注的,也可以是一个普通的Java 类。 初始化子类时会先初始化父类,会默认…
Spring5源码解析2-register方法注册配置类
接上回已经讲完了this()方法,现在来看register(annotatedClasses);方法。 register(annotatedClasses);方法最后其实是调用了reader的doRegisterBean(annotatedClass, null, null, …
Spring5源码解析3-refresh方法初探
接上回分析完register(annotatedClasses);后,现在来看一下refresh();方法。 点开refresh();方法,里面调用了超级多的方法,我们一个个来看。 prepareRefresh();做的事情比较简单:准备上下文,设置其启动日期和活动标志,执行属…
Spring5源码解析4-refresh方法之invokeBeanFactoryPostProcessors
getBeanFactoryPostProcessors()方法获取的是AbstractApplicationContext#beanFactoryPostProcessors这个成员变量。 这个成员变量只能通过代码中手动编码调用AbstractApplicationConte…
Spring5源码解析5-ConfigurationClassPostProcessor (上)
接上回,我们讲到了refresh()方法中的invokeBeanFactoryPostProcessors(beanFactory)方法主要在执行BeanFactoryPostProcessor和其子接口BeanDefinitionRegistryPostProcessor的方…
惊人!Spring5 AOP 默认使用Cglib ?从现象到源码深度分析
刚看到这个说法的时候,我是保持怀疑态度的。 简单翻译一下。Spring AOP 默认使用 JDK 动态代理,如果对象没有实现接口,则使用 CGLIB 代理。当然,也可以强制使用 CGLIB 代理。 为了证明文档写错了,这位同学还写了一个 DEMO。下面,就由我来重现一下这个 D…
经验分享:如何快速定位问题(BUG)
作为程序员,以上这些场景你一定都经历过。今天就来聊聊如何快速定位问题。 先划重点,下文所写都是一家之言,本人工作经验不多,语言表达能力有限,如果写的不好,还望轻喷。另外,本文所讲都是站在Java后端开发者的角度。 案例1:App首页白屏。 详细描述:App、H5、小程序首页都是…
SpringBoot2.x升级踩坑,一个下划线引发的血案
最近公司项目在做SpringBoot的升级,在升级过程中遇到了一些问题,简单记录一下,做个分享。另外,本文中的程序只为示例代码,并非公司生产环境代码。 结合报错日志,我们可以很容易的解决这个问题,去掉配置项中的_,将配置项name修改为com.shen.name即可。 你以为文…
Spring5源码解析10-createBean方法和InstantiationAwareBeanPostProcessor
通过源码我们可以知道,在getSingleton方法中是通过调用传入的ObjectFactory<?> singletonFactory对象的getObject();方法来创建单例Bean的,而该方法其实是AbstractAutowireCapableBeanFactory#c…
下一页
个人成就
文章被点赞
330
文章被阅读
116,329
掘力值
2,562
关注了
5
关注者
219
收藏集
0
关注标签
11
加入于
2019-08-31