问题描述
不知道有没有高手遇到过这个问题?项目开发到一定阶段必须使用appfuse的源代码.于是跑了mvnappfuse:full-source.结果使用appfuse自带的GenericaManager注入生成的Manager全部都不能被自动注入了.写了个测试,测试如下:publicclassTaskNatureManagerTestextendsBaseManagerTestCase{privateGenericManagertnm;publicvoidsetTaskNatureManager(GenericManager<TaskNature,Integer>tnm){this.tnm=tnm;}@BeforepublicvoidsetUp()throwsException{tnm=(GenericManager)applicationContext.getBean("taskNatureManager");}@TestpublicvoidtestManager(){List<TaskNature>natures=newArrayList<TaskNature>();natures=tnm.getAll();assertNotNull(natures);}}
当在setUp中手动生成tnm时,测试通过.如果将setUp去掉,就会报这个错:java.lang.NullPointerExceptionatcom.iss.webapp.framework.service.TaskNatureManagerTest.testManager(TaskNatureManagerTest.java:31)
也就是natures=tnm.getAll();这句话引发了空异常.不明白为什么,在full-source之前项目都是正常的,为什么在full-source之后,不能自动注入manager.