你前面的定义:
@Repository(value="regionDAOimpl")
public class RegionDAOImpl implements RegionDAO {@Resource
private RegionDAO regionmapper;感觉应该是这个regionmapper的问题。
那个测试类调用test方法没用到增删改查,因此没报错。你具体错误日志是啥呢?

解决方案 »

  1.   


    补充:
    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)本人菜鸟一枚,请指教
      

  2.   

    另外:我在spring的配置里配置了:
    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />,因为之前没有红色标注的那部分,总是说找不到bean,但是删掉每个方法上的@transaction注解后就能找到,所以我到网上找了一些资料,添加了红色那部分,但我不知道这个添加会不会对现在产生的异常有影响,希望大神们了解这一点
      

  3.   

     org.apache.ibatis.binding.BindingException产生这个异常原因找到了,原来是mapper namespace的名称和interface的名称不一致,这个是我参考的网址:http://blog.csdn.net/zgmzyr/article/details/8044980但是最根本的异常还是存在:
    下面是异常信息:
    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)
      

  4.   

    空指针
    at Impl.ServiceImpl.RegionServiceImpl.findRegion(RegionServiceImpl.java:51)
    RegionServiceImpl 51行都做了什么操作呢?(你的代码没有排版,看不出行数)
      

  5.   

    搞了两天,终于弄完了,分享下我的经验:导致spring注入失败的原因可能是(我自己这方面是这样):
    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,我也不会慢慢刨出问题,另外,以后我提问也要注意下排版细节,再次谢过!