autowire在spring core中的作用是什么?

问题描述 投票:0回答:3

在春天,我宣布像这样的豆:

<bean id="dao" class="com.gestion.banque.dao.BanqueDao"></bean>

我发现了一个名为autowire autowire="byType"的属性,它的值是defaultbyTypebyName

<bean id="dao" class="com.gestion.banque.dao.BanqueDao" autowire="byType"></bean>

我对此感到困惑:

1 - >你能解释一下这个属性是什么吗?

2 - >这个属性的作用是什么?

3 - > autowire属性和@Autowired注释之间的关系是什么?

4 - >他们的价值观有什么不同? ByName && byValue之间的示例差异。

java spring dependency-injection inversion-of-control
3个回答
0
投票

(1-2)使用元素的autowire属性为bean定义指定autowire模式。 (3)使用注释进行自动装配与使用XML中的autowire属性没有太大区别。但它确实允许更精细的自动装配,您可以选择性地注释某些属性以进行自动装配。 (4)byType - 按属性名称自动装配。 Spring容器在XML配置文件中查看autowire属性设置为byName的bean的属性。然后,它尝试匹配并将其属性与配置文件中由相同名称定义的bean相连。 byType - 按属性数据类型自动装配。 Spring容器在XML配置文件中查看autowire属性设置为byType的bean的属性。然后,如果属性的类型与配置文件中的一个bean名称匹配,则会尝试匹配并连接属性。如果存在多个这样的bean,则抛出致命异常。

有关更多信息,请使用this site或阅读Wall的'Spring in Action'


0
投票

@Autowired注释在Spring中执行依赖项自动注入。


0
投票

您未明确在属性标记中设置的所有bean属性将通过属性值策略之一注入

  • byName - 由具有相同名称/ id的find bean注入
  • byType - 由具有相同类型的find bean注入
  • 构造函数 - 在这种情况下,注入将由autowire构造函数的参数通过查找它们的类型来完成
  • default / no - 显然应初始化所有bean的参数
© www.soinside.com 2019 - 2024. All rights reserved.