我必须为使用带注释的Spring的旧项目做一些开发。
我从SVN获得了它(自上次部署以来没有任何变化),像往常一样使用Gradle产生了战争,将其部署在具有与以前相同版本的Tomcat中,并尝试以相同的Java版本运行。除使用的Eclipse版本外,其他所有操作均一如既往。
问题在于,对于定义扩展抽象类的类的每个字段,我都会得到--
。就像Spring出于某种原因无法确定应该使用哪个类,即使在方法的签名中指定了它一样:
NoUniqueBeanDefinitionException
@Autowired
@Override
protected void setEntityDao(ListboxItemDao entityDao) {...}
扩展ListboxItemDao
的地方
我得到了这个例外:
GenericDao
我看到我可以通过添加一个org.springframework.beans.factory.NoUniqueBeanDefinitionException:
No qualifying bean of type [com.section.generic.dao.GenericEntityDao] is defined:
expected single matching bean but found 32: listboxItemDao, anotherDao1, anotherDao2...
来解决它,但是我不明白为什么没有这个@Qualifier("listboxItemDao")
之前它会起作用。现在,非常令人讨厌的是,由于更改很小,我不得不将此@Qualifier
添加到所有服务中...
在所有环境相同的情况下,我现在需要这个@Qualifier
是什么意思?