首页IT科技关于spring的依赖注入功能是什么? 有什么用? 怎么用?(Spring IOC官方文档学习笔记(四)之依赖项(下))

关于spring的依赖注入功能是什么? 有什么用? 怎么用?(Spring IOC官方文档学习笔记(四)之依赖项(下))

时间2025-06-14 19:37:44分类IT科技浏览4387
导读:3.depends-on...

3.depends-on

(1) depends-on用来表示一个bean的实例化依靠另一个bean的先实例化             ,如果在一个bean A上定义了depends-on bean B就表示:bean A实例化前先实例化bean B             。

<!-- 例一 --> <beans ...> <!-- 对于下面这俩个bean                   ,谁先谁后创建不能确定 --> <bean id="exampleA" class="cn.example.spring.boke.ExampleA"></bean> <bean id="exampleB" class="cn.example.spring.boke.ExampleB"></bean> </beans> <!-- 例二 --> <beans ...> <!-- exampleB depends-on exampleA       ,因此exampleA会先于exampleB被创建 --> <bean id="exampleA" class="cn.example.spring.boke.ExampleA"></bean> <bean id="exampleB" class="cn.example.spring.boke.ExampleB" depends-on="exampleA"></bean> </beans>

4.懒加载

(1) 默认情况下       ,Spring会在容器启动时初始化所有的singleton bean                   ,因为在这种情况下             ,某些配置错误会尽早发现       ,但如果我们不想提前初始化bean                    ,就可以指定bean的lazy-init属性             ,来延迟初始化bean,这样这个bean会在第一次请求时被初始化而非在容器启动时被初始化

<beans ...> <!-- exampleA会在第一次请求时被初始化 --> <bean id="exampleA" class="cn.example.spring.boke.ExampleA" lazy-init="true"></bean> <!-- exampleB会在容器启动时被初始化 --> <bean id="exampleB" class="cn.example.spring.boke.ExampleB"></bean> </beans>

(2) 注意:当延迟初始化的bean是非延迟初始化的bean的依赖项时                    ,延迟初始化就失效了                    ,它也会在容器启动时被初始化,因为容器在启动时必须为这个非延迟初始化的bean注入依赖项

(3) 使用beans标签上的default-lazy-init属性批量设置延迟初始化的bean

<beans default-lazy-init="true"> <!-- 相当于给容器内的每一个bean都提供了lazy-init=true属性 --> </beans>

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
鸿蒙系统没有网(鸿蒙系统无网络怎么传输文件?鸿蒙系统无网络传输文件教程) 提供香港vps(香港百兆服务器租用如何选择)