首页
学习
活动
专区
工具
TVP
发布

chenssy

专栏成员
142
文章
138196
阅读量
52
订阅数
【死磕 Spring】----- 4 张图带你读懂 Spring IOC 的世界
原文出自:http://cmsblogs.com bean 的转换过程 下面这张图演示了一个可用的 bean 是如何从 xml 配置文件中演变过来的。 ApplicationContext 的架构图
用户1655470
2019-03-06
7140
【死磕 Spring】----- IOC 之 分析 bean 的生命周期
在分析 Spring Bean 实例化过程中提到 Spring 并不是一启动容器就开启 bean 的实例化进程,只有当客户端通过显示或者隐式的方式调用 BeanFactory 的 getBean() 方法来请求某个实例对象的时候,它才会触发相应 bean 的实例化进程,当然也可以选择直接使用 ApplicationContext 容器,因为该容器启动的时候会立刻调用注册到该容器所有 bean 定义的实例化方法。当然对于 BeanFactory 容器而言并不是所有的 getBean() 方法都会触发实例化进程,比如 signleton 类型的 bean,该类型的 bean 只会在第一次调用 getBean() 的时候才会触发,而后续的调用则会直接返回容器缓存中的实例对象。
用户1655470
2019-03-06
9300
【死磕 Spring】----- ApplicationContext 相关接口架构分析
在前面 30 多篇博客中都是基于 BeanFactory 这个容器来进行分析的,BeanFactory 容器有点儿简单,它并不适用于我们生产环境,在生产环境我们通常会选择 ApplicationContext ,相对于大多数人而言,它才是正规军,相比于 BeanFactory 这个杂牌军而言,它由如下几个区别:
用户1655470
2019-03-06
1.1K0
【死磕 Spring】----- IOC 之 BeanDefinition 注册机
将定义 bean 的资源文件解析成 BeanDefinition 后需要将其注入容器中,这个过程由 BeanDefinitionRegistry 来完成。
用户1655470
2019-03-06
8820
【死磕 Spring】---- Spring 的环境&属性:PropertySource、Environment、Profile
spring.profiles.active 和 @Profile 这两个我相信各位都熟悉吧,主要功能是可以实现不同环境下(开发、测试、生产)参数配置的切换。其实关于环境的切换,小编在博客 【死磕Spring】----- IOC 之 PropertyPlaceholderConfigurer 的应用 已经介绍了利用 PropertyPlaceholderConfigurer 来实现动态切换配置环境,当然这种方法需要我们自己实现,有点儿麻烦。但是对于这种非常实际的需求,Spring 怎么可能没有提供呢?下面小编就问题来对 Spring 的环境 & 属性来做一个分析说明。
用户1655470
2019-03-06
2.4K0
【死磕 Spring】----- IOC 之分析 BeanWrapper
在实例化 bean 阶段,我们从 BeanDefinition 得到的并不是我们最终想要的 Bean 实例,而是 BeanWrapper 实例,如下:
用户1655470
2019-03-06
9860
【死磕 Spring】----- IOC 之自定义类型转换器
在上篇文章中小编分析了 Spring ConversionService 类型转换体系,相信各位都对其有了一个清晰的认识,这篇博客将利用 ConversionService 体系来实现自己的类型转换器。
用户1655470
2019-03-06
1.1K0
【死磕 Spring】----- IOC 之深入分析 PropertyOverrideConfigurer
在文章 【死磕 Spring】----- IOC 之 深入分析 BeanFactoryPostProcessor 中提到,BeanFactoryPostProcessor 作用与 bean 完成加载之后与 bean 实例化之前,是 Spring 提供的一种强大的扩展机制,他有两个重要的子类,一个是 PropertyPlaceholderConfigurer,另一个是 PropertyOverrideConfigurer ,其中 PropertyPlaceholderConfigurer 允许我们通过配置 Properties 的方式来取代 bean 中定义的占位符,而 PropertyOverrideConfigurer 呢?正是我们这篇博客介绍的。
用户1655470
2019-03-06
9020
【死磕 Spring】----- IOC 之 bean 的实例化策略:InstantiationStrategy
在开始分析 InstantiationStrategy 之前,我们先来简单回顾下 bean 的实例化过程:
用户1655470
2019-03-06
1.3K0
【死磕 Spring】----- IOC 之深入分析 Bean 的类型转换体系
我们知道不管 bean 对象里面的属性时什么类型,他们都是通过 XML 、Properties 或者其他方式来配置这些属性对象类型的。在 Spring 容器加载过程中,这些属性都是以 String 类型加载进容器的,但是最终都需要将这些 String 类型的属性转换 Bean 对象属性所对应真正的类型,要想完成这种由字符串到具体对象的转换,就需要这种转换规则相关的信息,而这些信息以及转换过程由 Spring 类型转换体系来完成。
用户1655470
2019-03-06
8600
【死磕 Spring】----- IOC 之 深入分析 BeanPostProcessor
Spring 作为优秀的开源框架,它为我们提供了丰富的可扩展点,除了前面提到的 Aware 接口,还包括其他部分,其中一个很重要的就是 BeanPostProcessor。这篇文章主要介绍 BeanPostProcessor 的使用以及其实现原理。我们先看 BeanPostProcessor 的定位:
用户1655470
2019-01-02
1.2K0
这些Spring中的设计模式,你都知道吗?
设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。
用户1655470
2018-12-13
3220
【死磕 Spring】----- IOC 之深入理解 Spring IoC
在一开始学习 Spring 的时候,我们就接触 IoC 了,作为 Spring 第一个最核心的概念,我们在解读它源码之前一定需要对其有深入的认识,本篇为【死磕 Spring】系列博客的第一篇博文,主要介绍 IoC 基本概念和各个组件。
用户1655470
2018-09-30
9390
MySQL事务隔离级别和Spring事务关系介绍
接下来一次来验证每个隔离级别的特性,首先我们先建一张表,我们建立账户表account用来测试我们的事务隔离级别:
用户1655470
2018-09-30
1.5K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档