你前面的定义:
@Repository(value="regionDAOimpl")
public class RegionDAOImpl implements RegionDAO {@Resource
private RegionDAO regionmapper;感觉应该是这个regionmapper的问题。
那个测试类调用test方法没用到增删改查,因此没报错。你具体错误日志是啥呢?
@Repository(value="regionDAOimpl")
public class RegionDAOImpl implements RegionDAO {@Resource
private RegionDAO regionmapper;感觉应该是这个regionmapper的问题。
那个测试类调用test方法没用到增删改查,因此没报错。你具体错误日志是啥呢?
解决方案 »
- lomboz下找不到database explorer,无法在eclipse下浏览数据库(我用的是oracle)的内容.
- 请教各路英雄struts2中同时使用http和https接口如何配置
- MP3插到电脑上有反应,但是点那个盘符时提示:请插入磁盘什么的。。。
- (jsp)java如何实现报表
- 请讨论一下用servlet作控制器与用Filter作过滤器的区别
- 请问大家,直接在本地启动resin能正常启动,可是用eclipse配置了应用服务器,启动却不行!!
- 请教各位大侠,spring远程调用服务(例如httpinvoker)支持回调机制吗?怎么配置啊?
- 大量给分啊
- 怎么调用临时表的删除出错阿?drop table #t1
- 在使用spring security的时候报这个错,网上搜了一下午,不知道是什么问题,求解
- hql问题
- hibernate中使用JDBC的ResultSet,返回总是空
补充:
mybatis里不是有个映射文件嘛,在这里我把RegionDAO就当成mapper接口,在applicationContext.xml里已经配置了
<bean id="regionmapper" class="org.mybatis.spring.mapper.MapperFactoryBean" >
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
<property name="mapperInterface" value="DAO.RegionDAO"/>
</bean>,另外我也在那个test类里测试了,代码如下:
ApplicationContext appContext = new
ClassPathXmlApplicationContext("applicationContext.xml");
//System.out.println(appContext.getType("regionServiceimpl"));
RegionServiceImpl regionService = (RegionServiceImpl)appContext
.getBean(RegionServiceImpl.class);
regionService.test();
Region region = regionService.findRegion("110101");
System.out.println(region.getName());
异常产生了:
Exception in thread "main" org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): DAO.RegionDAO.selectRegion
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:184)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:38)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:49)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:42)
at com.sun.proxy.$Proxy9.selectRegion(Unknown Source)
at Impl.DAOImpl.RegionDAOImpl.selectRegion(RegionDAOImpl.java:24)
at Impl.ServiceImpl.RegionServiceImpl.findRegion(RegionServiceImpl.java:51)
at Impl.ServiceImpl.RegionServiceImpl$$FastClassByCGLIB$$b2d7903a.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:627)
at Impl.ServiceImpl.RegionServiceImpl$$EnhancerByCGLIB$$a2f2447d.findRegion(<generated>)
at Test.main(Test.java:21)本人菜鸟一枚,请指教
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />,因为之前没有红色标注的那部分,总是说找不到bean,但是删掉每个方法上的@transaction注解后就能找到,所以我到网上找了一些资料,添加了红色那部分,但我不知道这个添加会不会对现在产生的异常有影响,希望大神们了解这一点
下面是异常信息:
10
true
一月 22, 2014 4:50:43 下午 com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException
SEVERE: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NullPointerException
at Impl.ServiceImpl.RegionServiceImpl.findRegion(RegionServiceImpl.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)一月 22, 2014 4:50:43 下午 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [JerseyRestTest] in context with path [/Restdemo] threw exception
java.lang.NullPointerException
at Impl.ServiceImpl.RegionServiceImpl.findRegion(RegionServiceImpl.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
at Impl.ServiceImpl.RegionServiceImpl.findRegion(RegionServiceImpl.java:51)
RegionServiceImpl 51行都做了什么操作呢?(你的代码没有排版,看不出行数)
web.xml配置文件中:
<servlet-class>一项原先配置是:
com.sun.jersey.spi.container.servlet.ServletContainer后来参考(之前没注意,该文结尾作者醒目的提示)http://www.cnblogs.com/qunyang/p/3328561.html将<servlet-class>一项改成:com.sun.jersey.spi.spring.container.servlet.SpringServlet除此之外,导包也需要注意,不过这一点应该对大家不是问题,遇到错误,google就能找到第三个提醒就是:mybatis框架配置中的映射文件配置中mapper namespace要和定义的接口名称一致结尾:谢谢斑竹和各位的大力支持,要不是你们提醒我做个test,我也不会慢慢刨出问题,另外,以后我提问也要注意下排版细节,再次谢过!