我在Spring上下文文件「的applicationContext.xml」定義的bean像下面工作豆如下:@Autowired不與應用程序上下文文件中定義豆
@Component("serviceImpl")
public class ServiceImpl{
// other code here
@Autowired
private transient DAOImpl daoBean;
// other code here
}
我的服務類正在從我的JUnit測試類訪問。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/applicationContext.xml" })
public class JUnitTest{
// other code here
@Autowired
private transient ServiceImpl serviceImpl;
// test cases are here
}
當我執行測試用例,它提供了錯誤說:
錯誤創建名爲「ServiceImpl」豆:自動裝配Autowired依賴注入失敗;嵌套的例外是org.springframework.beans.factory.BeanCreationException:無法自動裝配領域:私人短暫com.xxx.DAOImpl
當我從服務類中刪除@Autowired和使用@Resource(name =「daoBean」)測試案例工作正常。
public class ServiceImpl{
// other code here
@Resource(name = "daoBean")
private transient DAOImpl daoBean;
// other code here
}
我的問題是爲什麼@Autowired在這種情況下不工作?我是否需要使用@Autowired配置其他任何東西,以便它可以正常工作。我不想更改我的服務層類以將@Autowired替換爲@Resource。
感謝您給出答案。現在我懂了。 –