1.依赖
一般情况下, 可以使用<ref>标签建立对其他Bean的依赖关系, Spring负责管理这些Bean的关系. 当实例化一个Bean时, Spring确保该Bean所依赖的其他Bean, 已经初始化.
在某些情况下, Bean之间的依赖关系并不明显.
代码示例如下:
CacheManager 依赖于 SystemSettings 类. SystemSettings的静态属性的值由 SysInit 进行刷新. CacheManager 间接依赖了 SysInit. 应该在 SysInit加载并完成系统参数设置之后才启动 CacheManager.
加载上述配置文件, 通过Spring容器创建 Cachemanager Bean, 输出的不是系统参数的刷新值, 因为容器没有创建 SysInit 实例, 进而不能初始化系统参数.
Spring 通过 depends-on 属性显示指定 Bean前置依赖的 Bean. 前置依赖的 Bean会在本 Bean实例化之前创建好. 配置文件如下: