![](/img/trans.png)
[英]Spring @Autowire fails with No qualifying bean of type found for dependency error
[英]Little trouble with hibernate autowire in a spring project, bean not found error
我想嘗試spring 3.0.5的<context:component-scan base-package />
功能。
我在applicationContext中有這個條目:
<context:component-scan base-package="com.project.personal.admin.model"/>
<context:annotation-config />
我有一個經理類,知道如何創建任何POJO和DAO。
@Component("manager")
public class ManagerImpl implements ApplicationContextAware, Manager {
ApplicationContext applicationContext;
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
public User CreateUser(){
return (User) getInstance("user", User.class);
}
public UserDAO createUserDAO(){
return (UserDAO) getInstance("userDAO", UserDAO.class);
}
//....
}
Pojo喜歡:
@Entity
@Table(name = "user", uniqueConstraints = {
@UniqueConstraint(columnNames = {"email"})})
@Component("user")
public class User {
public User() {
this.dateCreated = new Date();
}
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid.hex")
@Column(name = "id", length = 32)
private String id;
@Column(name = "email", length = 150)
private String email;
//setters and getters
}
我的測試課就是這樣
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:META-INF/test-project-admin-config.xml"})
@TransactionConfiguration(defaultRollback=true)
@Transactional
public class UserDAOImplTest {
//@Autowired
@Resource(name="manager")
Manager manager;
@Autowired
UserDAO userDAO;
public UserDAOImplTest() {
}
@Test
public void testSave() {
User u1 = manager.CreateUser();
u1.setEmail("misterjojtoo@gmail.com");
u1.setFullname("joseph djomeda");
u1.setPassword("psaumedetdavid");
userDAO.save(u1);
User expResult = u1;
User result = (User)userDAO.getById(u1.getId());
Assert.assertEquals(expResult, result);
Assert.assertEquals(expResult.getId(), result.getId());
}
}
我有這個錯誤:
org.springframework.beans.factory.NoSuchBeanDefinitionException:找不到類型為[com.project.personal.admin.manager.Manager]的匹配bean依賴:預期至少有一個bean符合此依賴關系的autowire候選者。 依賴注釋:{@ org.springframework.beans.factory.annotation.Autowired(required = true)}
大部分時間我在每個類的applicationcontext中創建條目,並且它一直在工作,這次我想嘗試包掃描。 這是我做得不好的事嗎? 我已經嘗試了Autowired以及后來的資源。 所以我沒有想法
謝謝你讀這個。
確保你的Manager
在正確的包中(或你的base-package
正確設置)(我不會提到這一點,但在模型包中有經理似乎很可疑)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.