自动装配优先级
<beans default-autowire="byType" />
意味着如果不超过 1 个具有所需类型的 bean,则 bean 的所有字段都会自动注入依赖项。
我想知道是否有一种方法可以在存在多个所需类型的 bean 的情况下为自动装配定义某种优先级顺序(例如基于命名约定)。
提前致谢。
编辑:我只是想补充一点,我不允许在我当前正在处理的项目中使用 @Component 和 @Qualifier 等注释。
<beans default-autowire="byType" />
means that all fields of beans will automatically have dependencies injected if there is no more than 1 bean with the desired type.
I wonder if there is a way to define some sort of priority order (based on naming convention for example) for the auto-wiring in the case where there are more than one bean of the desired type.
Thanks in advance.
Edit: I just want to add that i'm not allowed to use annotations such as @Component and @Qualifier in the project i'm currently working on.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,没有,但是您可以根据每个 bean 的需要覆盖此行为,例如在需要时指定类似的内容:
从 spring 2.5 向上,当使用
to autowire beans 时通过@ Autowired
您还可以添加@Qualifier
如果存在多个相同类型的 bean,则需要按名称指定 bean。正如 Spring 文档中所述 有几种不同的方式来指定自动装配:
No there is not, but you can override this behavior as needed for each bean e.g.specify something like this where required:
From spring 2.5 upwards when using the
<context:component-scan/>
to autowire beans via@Autowired
you can also add@Qualifier
where needed to specify a bean by name if there are multiple beans of the same type.As stated in the spring documentation there are a few different ways to specify autowiring: