注解@Primary使用概述

来源:互联网 发布:python 对象 编辑:程序博客网 时间:2024/06/05 09:13
在声明bean的时候,通过将其中一个可选的bean设置为首选

( primary) bean能够避免自动装配时的歧义性。当遇到歧义性的时
候, Spring将会使用首选的bean,而不是其他可选的bean。实际上,
你所声明就是“最喜欢”的bean。
假设冰激凌就是你最喜欢的甜点。在Spring中,可以通过@Primary
来表达最喜欢的方案。 @Primary能够与@Component组合用在组件
扫描的bean上,也可以与@Bean组合用在Java配置的bean声明中。比
如,下面的代码展现了如何将@Component注解的IceCream bean声
明为首选的bean:
这里写图片描述

或者,如果你通过Java配置显式地声明IceCream,那么@Bean方法
应该如下所示:

这里写图片描述

如果你使用XML配置bean的话,同样可以实现这样的功能。
元素有一个primary属性用来指定首选的bean:
这里写图片描述

不管你采用什么方式来标示首选bean,效果都是一样的,都是告诉
Spring在遇到歧义性的时候要选择首选的bean。