Spring 入门学习 —— XML 格式文件介绍(六)

73 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情

我们继续上一篇文章的内容来介绍其他知识。

使用autowire 的缺点

  1. 很显然的一个确定就是,使用自动装配不如手动指定依赖关系那样清晰。如果使用手动方式进行绑定,我们就可以根据绑定信息中的明确的依赖关系对整个系统有一个明确的认识;但是如果使用自动装配,那么我们如果想达到相同的目的,就需要在类的定义以及配置文件之间来回转换以取得相应的信息。
  2. 在某些场景中,使用自动装配可能无法满足我们系统的需要。举例如:我们使用byType 类型进行匹配和依赖关系绑定,如果我们此时在容器中新增了一个相同类型的bean 的定义,那么系统就会报问题;同样,如果我们使用byName 进行自动绑定,那么假若我们原来系统中相同名称的bean 的定义被替换掉,那么也会造成系统报问题。

以上我们介绍完了自动装配的相关内容,接下来我们介绍<bean> 的其他玩法。

继承

继承主要使用的<bean> 中的parent 属性;同时还可以使用abstract 属性对bean 进行模板化。

另外有个比较有意思的地方,就是在容器初始化对象实例的时候,不会关注将abstract 属性声明称为true 的bean 定义,所以说,我们可以利用这个性质,在使用ApplicationContext 容器的时候,即使它会将其管理的所有bean 都实例化,但是如果我们将某些bean 的abstract 属性设置为true,那么即使是使用ApplicationContext,这个bean 也是不会被实例化的。

总结

autowire 的缺点在这篇文章中做了介绍,上篇文章介绍了autowire 的优点,读者可以自行定夺是否使用。