当前位置: 首页 > 文档资料 > Spring 中文教程 >

Beans Auto-Wiring

优质
小牛编辑
121浏览
2023-12-01

您已经学习了如何使用元素声明bean,并使用XML配置文件中的和元素注入。

Spring容器可以在不使用“constructor-arg”和“property”元素的情况下autowire连接协作bean之间的关系,这有助于减少为大型基于Spring的应用程序编写的XML配置量。

自动装配模式

以下是自动装配模式,可用于指示Spring容器使用自动装配进行依赖注入。 您可以使用元素的autowire属性为bean定义指定autowire模式。

Sr.No模式和说明
1no

这是默认设置,这意味着没有自动装配,您应该使用显式bean引用进行连接。 你对这种布线没什么特别的。 这是您在依赖注入章节中已经看到的内容。

2byName

按属性名称自动装配。 Spring容器在XML配置文件中byName autowire属性设置为byName autowire属性。 然后,它尝试匹配并将其属性与配置文件中由相同名称定义的bean相连。

3byType

按属性数据类型自动装配。 Spring容器在XML配置文件中查看autowire属性设置为byType autowire属性。 然后,如果属性的type与配置文件中的一个bean名称匹配,则会尝试匹配并连接属性。 如果存在多个这样的bean,则抛出致命异常。

4constructor

与byType类似,但type适用于构造函数参数。 如果容器中没有构造函数参数类型的一个bean,则会引发致命错误。

5autodetect

Spring首先尝试通过constructor使用autowire连接,如果它不起作用,Spring会尝试通过byType自动装配。

您可以使用byTypeconstructor自动装配模式连接数组和其他类型集合。

自动装配的限制

自动装配在项目中一致使用时效果最佳。 如果一般不使用自动装配,那么开发人员使用它来连接一个或两个bean定义可能会让人感到困惑。 但是,自动装配可以显着减少指定属性或构造函数参数的需要,但在使用之前应考虑自动装配的限制和缺点。

Sr.No.限制和描述
1

Overriding possibility

您仍然可以使用和设置指定依赖项,这些设置将始终覆盖自动装配。

2

Primitive data types

您无法自动装配所谓的简单属性,例如基元,字符串和类。

3

Confusing nature

自动装配不如显式布线精确,因此如果可能,请使用明确的布线。

最后更新:

类似资料

  • 我用wiringPiISR#得到了一个核心转储 Java运行时环境检测到一个致命错误:#Internal error(os_linux_zero.cpp:254),PID=6552,TID=1866855520致命错误:捕获未处理信号11

  • Facility to allow components to dynamically subscribe to events offered by other components. We call the component that offers events publishers and the components that uses them, subscribers. With th

  • Wiring 是一款开源电子开发平台,包括软件(Wiring IDE)和硬件(微控制器)。Wiring允许编写跨平台软件来控制连接在微控制器上的设备。学生,艺术家,设计师,研究人员和爱好者学习,原型设计和生产。 Wiring 建立在 Processing 基础上。 相关项目:Processing,Arduino,Fritzing。

  • WiringPi 是一个为Raspberry Pi树莓派上使用的博通BCM2835芯片用C写的GPIO访问库。 来自维基百科对 GPIO 的介绍: GPIO,通用型之输入输出(General Purpose I/O)的简称,功能类似8051的P0—P3,其接脚可以供使用者由程控自由使用,PIN脚依现实考量可作为通用输入(GPI)或通用输出(GPO)或通用输入与输出(GPIO),如当clk gene

相关阅读

开发工具

WiringWiringPi