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

99 阅读2分钟

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

这篇文章我们接着上一篇文章的末尾的说明,来介绍在XML 中的autowire 的使用方法。

autowrie 的使用

xml 的本质其实是通过明确的配置来指定bean 之间的依赖关系。对于Spring 来说,它还提供了一种根据bean 的定义的一些特质(如name,type 等)来将相互依赖的某些bean 直接自动绑定的功能。

在xml 中,就是通过<bean> 的autowire(自动装配)属性,来指定当前的bean 通过某一种方式进行依赖关系的绑定。这样一来,开发人员就不需要明确定义bean 的依赖关系,从而就可以减少一些手工输入定义的工作。

下面我们来介绍Spring 提供的几种自动绑定依赖关系的模式。包括byNamebyTypenoconstructorautodetect 这几种。我们接下来对这五种模式进行具体的介绍。

byName

byName 从名字看起来的意思就是“通过名称”。

这种方式就是按照类中声明的实例变量的名称,与XML 配置文件中声明的bean 定义的beanName 的值进行匹配,如如果匹配上了,那么匹配到的bean 将会被绑定到当前实例对应性的变量上面。

这里需要注意,使用autowire 的时候,对于被依赖的bean 的id 的设置,一定要和那个依赖其他bean 中定义的变量名相同,这样自动装配的功能才可以实现。

byType

同上,byType 顾名思义,就是“通过类型”。

如果指定了当前的bean 定义的依赖模式为byType,那么容器就会根据当前bean 中定义的类型进行分析,确定其相应的依赖的对象类型是什么,然后取容器中管理的所有的bean 的定义中去寻找这个相同类型定义的bean,找到之后,如果这个bean 符合条件,那么就会将其自动绑定到需要依赖其他类的bean 中去。

总结

这篇文章介绍的是XML 中autowire 的相关内容及两种模式。后续会继续介绍另外的几种模式。