<beans default-autowire="byType />
Run Code Online (Sandbox Code Playgroud)
表示如果不超过1个具有所需类型的bean,则bean的所有字段将自动注入依赖项.
问题是当使用注释时这是如何工作的,它是否有效.
我的测试显示,即使我使用
@Resource(name="someConcreteFoo")
private Foo foo;
Run Code Online (Sandbox Code Playgroud)
上下文尝试按类型自动装配字段,如果有多个实现,则失败Foo.因此,对于我所看到的,default-autowire不会与注释混在一起.我在文档中找不到任何具体内容.
扩展问题 - 当使用xml-only时,spring如何使用default-autowiring进行操作.即如果你有的话<property>.属性注入是否覆盖默认值(应该是).
我可以做更多的测试,但我更喜欢某些引用确认的行为.任何见解?
编辑:
属性注入是否会覆盖默认值(应该是)。
你是对的。如果您不希望 Spring 将依赖项注入到 bean 的某个字段,则@Qualifier可以使用注释来注入所需的依赖项。我仍在尝试找到可以确认这一点的文档 - 我能找到的最接近的是 Spring 论坛上的帖子覆盖带有注释的默认自动装配设置?
编辑:这是另一篇仅在default-autowire =“byName”之后考虑的帖子@Resource,它描述了使用新的InstantiationAwareBeanPostProcessor更改接线顺序以使setter上的@Resource优先于default-autowire。
| 归档时间: |
|
| 查看次数: |
3516 次 |
| 最近记录: |