最近尝试使用SpringSide开发项目,写了一个测试用例结果就出现的标题出现的错误。
SpringSide使用的是Autowire机制,默认类型为ByType 使用SS自带SpringTxTestCase测试工具,编写TestCase package cn.fiberhome.test;import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springside.modules.test.spring.SpringTxTestCase;import cn.fiberhome.dao.security.UserDao;public class DataAccessTest extends SpringTxTestCase { @Autowired
private UserDao userDao; public void setUserDao(UserDao userDao) {
this.userDao = userDao;
} @Test
public void addUser() throws Exception {
System.out.println(userDao);
}
}
结果Autowiring of fields failed。
异常堆栈分别是:
org.springframework.beans.factory.BeanCreationException
...
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [cn.fiberhome.dao.security.UserDao] is defined: Unsatisfied dependency of type [class cn.fiberhome.dao.security.UserDao]: expected at least 1 matching bean
但是这个类明明是存在的。
使用Class.forName("cn.fiberhome.dao.security.UserDao").newInstance()
进行反射没有出现任何错误。 望各位兄弟指点迷津! 3Q
SpringSide使用的是Autowire机制,默认类型为ByType 使用SS自带SpringTxTestCase测试工具,编写TestCase package cn.fiberhome.test;import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springside.modules.test.spring.SpringTxTestCase;import cn.fiberhome.dao.security.UserDao;public class DataAccessTest extends SpringTxTestCase { @Autowired
private UserDao userDao; public void setUserDao(UserDao userDao) {
this.userDao = userDao;
} @Test
public void addUser() throws Exception {
System.out.println(userDao);
}
}
结果Autowiring of fields failed。
异常堆栈分别是:
org.springframework.beans.factory.BeanCreationException
...
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [cn.fiberhome.dao.security.UserDao] is defined: Unsatisfied dependency of type [class cn.fiberhome.dao.security.UserDao]: expected at least 1 matching bean
但是这个类明明是存在的。
使用Class.forName("cn.fiberhome.dao.security.UserDao").newInstance()
进行反射没有出现任何错误。 望各位兄弟指点迷津! 3Q
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货