我在Spring中注入了三个层次结构层 - 休息,业务逻辑和数据库操作。对于BL和DAO的Junit测试工作正常,当休息时只能注入业务逻辑ioc层。
我的junit测试晚餐课程:
import org.springframework.test.AbstractTransactionalSpringContextTests;
public class AbstractTest extends AbstractTransactionalSpringContextTests {
protected static final String path = "config/spring/applicationContext.xml";
/**
* Disabled autowire by type
* Disabled dependency check
*/
public AbstractTest() {
super();
this.setAutowireMode(AUTOWIRE_BY_NAME);
this.setDependencyCheck(false);
}
@Override
protected String[] getConfigLocations() {
return new String[] {
path
};
}
}
所以 - 休息调用业务逻辑,这会调用数据库操作。 Nullpointer异常属于数据库调用的业务逻辑。
更多信息与示例: REST:getUser(id)调用 BL:getUserBO(id)调用 DAO:getUserDAO(id)
在getUserBO方法中的getUserDAO上抛出Nullpointer。这只发生在它正在部署的junit测试中。
答案 0 :(得分:0)
您是否定义了数据源bean?没有更多细节(例如堆栈跟踪,应用程序上下文文件等),这是我最好的猜测...
答案 1 :(得分:0)
我发现这是struts2 rest class mapping的问题。所以Spring无法注入......