在我的java项目中,我有2个具有相同名称但不同包的实体,我也为这些实体提供了相应的dao。
现在由于2个具有相同名称的实体,它提供了重复的扫描错误,因此我使用其完全限定名称为这些实体添加了name属性。
例如:实体(name =“p.c.k.Entity)& Entity(name =”p.a.b.Entity)
但是现在我对应的daos无法自动装配,我收到以下错误:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type...
我是否必须在Dao中更改任何内容以支持实体中的“名称”属性更改。
我正在使用Hibernate,JPA和Spring。
答案 0 :(得分:0)
答案 1 :(得分:0)
默认情况下,自动装配按类型完成。所以你可以直接使用@Autowired
注释,因为两个实体都是不同的类,确保它们是spring bean(这里我的意思是那些由Spring管理)。
@Autowired // nothing to specify, Spring automatically autowire the bean by checking type
private p.c.k.Entity entity;
@Autowired // nothing to specify, Spring automatically autowire the bean by checking type
private p.a.b.Entity entity1;
答案 2 :(得分:0)
我也有这个问题,除了重命名其中一个类之外,找不到任何解决方法。在不同的包装中应该足够了,但事实并非如此。