在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种的情况下 @Primary 的作用就出来了。下面是个简单的使用例子。有如下一个接口 程序代码 ...
当一个接口存在多个实现的时候会报org.springframework.beans.factory.NoUniqueBeanDefinitionException类似的异常信息,项目中碰到引用别人事先写好的框架,但是对于其中个别实现并不是很需要,因此可以通过使用 Primary注解进行处理 比如处理登录失败时 ...
2022-01-11 19:52 0 868 推荐指数:
在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种的情况下 @Primary 的作用就出来了。下面是个简单的使用例子。有如下一个接口 程序代码 ...
在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种的情况下 @Primary 的作用就出来了。下面是个简单的使用例子。有如下一个接口 ...
当一个接口有多个不同实现类时,使用注解@Autowired时会报 org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [xxxx] is defined ...
当一个接口有两个实现类时,并两个实现类都被 Spring 管理,则需要对某个类进行 @Primary 注解,表示优先选择此实现类。 否则会抛出 异常 org.springframework.beans.factory.NoUniqueBeanDefinitionException ...
@Primary 注解 刚看到这个,还以为是持久层的注解呢,以为和@Id差不多,一查才知道,这两个风马牛不相及,反倒和@Qualifier以及@Resource有点像了,但是相比而言,后面两个更加的灵活。 可以看这两个博客【博客一】【博客二】 我觉得 ...
1.问题 当一个接口有2个不同实现时,使用@Autowired注解时会报org.springframework.beans.factory.NoUniqueBeanDefinitionException异常信息 2.方案1-@Qualifier 使用 ...
简单的说,就是当Spring容器扫描到某个接口的多个 bean 时,如果某个bean上加了@Primary 注解 ,则这个bean会被优先选用,如下面的例子: 因为 HibernateFooRepository 上面有注解@Primary,所以它将优先 ...
@Primary:在众多相同的Bean中,优先使用@Primary注解的Bean。 这个和@Qualifier有点区别,@Qualifier指的是使用哪个Bean进行注入。 参考: http://blog.csdn.net/asdfsadfasdfsa/article/details ...