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

74 阅读2分钟

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

上一篇文章的内容我们讲了autowire 中byType 的注意事项及constructor 的一些特性,这篇文章我们介绍autowire 的剩余的两种依赖绑定方式。

no 类型

作为autowire 的五种Spring 提供的自动依赖绑定模式之一,no 模式其实是容器默认的一种自动绑定模式。

叫做no 其实是有原因的,它就是不采用任何形式的自动绑定,而是需要完全依赖手工,进行明确的配置,指明各个bean 之间的依赖关系。

这个不重要,仅做了解。

autodetect 类型

这种模式其实是前文中介绍的constructor 和byType 两种类型的合体。当某个业务对象有默认的无参构造方法的时候,容器会首先使用byType 类型进行依赖的自动绑定;否则,就会使用constructor 类型的。

同时,在通过构造方法进行依赖绑定后,如果还有一些其他属性没有绑定,那么容器也会自动使用byType 类型。

注意事项

  1. 如果我们在开发中手动明确指定了某些bean 之间的依赖绑定关系,那么手动指定的关系会覆盖自动绑定模式的行为。
  2. 自动绑定仅仅应用于“原生类型、Classes 类型、String 类型”以外的对象类型。

autowire 使用的优点

优点:

  1. 使用自动绑定模式,可以在某些程度上很明显地减少手动配置的工作量。
  2. 在某些场景中,即使给当前的对象增加了新的依赖关系,但是如果容器中存在所需指定的相应的依赖对象,那么就不需要再指定或者更改任何配置信息了。

总结

这篇文章我们介绍了autowire 自动绑定依赖关系的最后两种类型,同时讲述了使用autowire 的有点。后续文章继续介绍其他内容。