摘要:
默认情况下,我们的bean都是单例模式(即从容器初始化到销毁只保持一个实例)。当一个bean需要引用另外一个bean,我们往往会通过bean属性的方式通过依赖注入来引用另外一个bean。那么问题就来了,假设一个单例模式的bean A需要引用一个非单例模式的bean B,并且bean A的所有方法都用... 阅读全文
摘要:
引言假设一个单例模式的bean A需要引用另外一个非单例模式的bean B,为了在我们每次引用的时候都能拿到最新的bean B,我们可以让bean A通过实现ApplicationContextWare来感知applicationContext(即可以获得容器上下文),从而能在运行时通过Applic... 阅读全文
摘要:
默认情况下,容器初始化的时候便会把bean实例化,通常这样做可以让一些配置或者bean实例化的异常在容器启动的时候就发现,而不是在N久之后。但有时候,我们希望某个可能不会用到但又不是100%不用的bean能够在我们用的时候才实例化,这样可以节省系统资源。所以万能的Spring为我们提供了lazy-i... 阅读全文
摘要:
当我们要往一个bean的某个属性里注入另外一个bean,我们会使用 + 标签的形式。但是对于大型项目,假设有一个bean A被多个bean引用注入,如果A的id因为某种原因修改了,那么所有引用了A的bean的标签内容都得修改,这时候如果使用autowire="byType",那么引用了A的bean就... 阅读全文
摘要:
depends-on是bean标签的属性之一,表示一个bean对其他bean的依赖关系。乍一想,不是有ref吗?其实还是有区别的,标签是一个bean对其他bean的引用,而depends-on属性只是表明依赖关系(不一定会引用),这个依赖关系决定了被依赖的bean必定会在依赖bean之前被实例化,反... 阅读全文
摘要:
目录1 概述2 两种基本的依赖注入方式 2.1 构造函数方式 2.2 Setter方式3 其他依赖注入功能 3.1 标签引用不同范围的bean 3.2 内部bean 3.3 集合注入 3.4 集合合并 3.5 强类型集合注入 3.6 null和空字符串 3.7 p-namespace方式配置属性注入... 阅读全文