Spring学习(5) Spring中的自动装配(基于XML)

本文阅读 3 分钟
首页 代码,Java 正文
  • 手动装配:以value或ref的方式来明确指定属性值都是手动装配
  • 自动装配:根据bean标签的autowire属性指定的装配规则,不需要明确指定,Spring自动把匹配的属性值注入bean中

自动装配的规则,即autowire的属性值有:

  • no或default:不自动装配
  • byName:根据bean的属性名自动装配,以当前bean的属性名作为id从IOC容器中寻找以实现装配。找到则装配,找不到则不装配
  • byType:根据bean属性类型自动装配,找到一个则装配,找到多个则报错,找不到则不装配

在前面几篇博客中,我们已经知道了如何使用元素来声明 bean 和通过使用 XML 配置文件中的和元素来注入 。Spring 容器可以在不使用和 元素的情况下自动装配相互协作的 bean 之间的关系,这有助于减少编写一个大的基于 Spring 的应用程序的 XML 配置的数量。

2.1自动装配模式

可以使用元素的 autowire 属性为一个 bean 定义指定自动装配模式。

可以使用 byType 或者 constructor 自动装配模式来连接数组和其他类型的集合。

2.2 自动装配的局限性

  • 在bean标签添加属性:Autowire就可以了
    - byName
      - 对象中属性和容器中的beanid进行匹配,如果属性名和beanid一致,则自动装配
    • byType
      - 对象中的属性类型与容器中bean的class进行匹配,如果唯一匹配则自动装配 - 匹配0个:未装配 - 匹配多个:会报错
    • 基于XML的方式,只能装配非字面量的值
    • 由属性名称指定指定自动装配
    • 由属性类型指定指定自动装配
    • 比如:在配置文件中,有一个bean定义设置为自动装配byType,并且包含SpellChecker类型的spellChecker属性
    • 那么Spring就会查找类型为SpellChecker的bean,并且用它来设置这个属性
    • 我们仍然可以使用property标签来连接其他属性 img
    • 基于XML自动装配,底层使用set注入
    • 不建议使用byName,byType
    • 建议使用注解的方式自动装配
    本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://zengyihong.blog.csdn.net/article/details/125500362
-- 展开阅读全文 --
安全面试之XSS(跨站脚本攻击)
« 上一篇 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复