是否可以在spring数据neo4j中创建自定义存储库?

时间:2015-01-08 17:06:19

标签: java spring spring-data spring-data-neo4j

我正在使用Spring Data Neo4j并且有几个可以在我的实体上运行的抽象服务。所有实体都归某人所有,我想在我的所有存储库中添加一个通用的findByOwner方法。

@NodeEntity
public class OwnedEntity {
    @RelatedTo(type = "OWNS", direction = Direction.INCOMING, enforceTargetType = true)
    @NotNull
    User owner;

    @NotNull
    @Indexed
    UUID uuid;

    // + getters and setters
}

@NodeEntity
class Box extends OwnedEntity {
}


@NoRepositoryBean
public interface OwnedRepository<T extends OwnedEntity> extends GraphRepository<T> {
    Iterable<T> findByOwner(User owner);
    T findByUuid(UUID uuid);
}

public interface BoxRepository extends OwnedRepository<Box> {
}

这可以正确地实例化存储库,并且可以调用方法。我甚至检查了查询是否构造正确(Box扩展了抽象类NamedObject):

MATCH(box)&lt; - [:OWNS] - (box_owner)WHERE id(box_owner)= {0} AND boxNamedObjectBox返回box

但是当Spring尝试收集结果时,它会在下面的例外情况下失败。

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to java.lang.Class
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978) ~[spring-webmvc-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) ~[spring-webmvc-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[servlet-api-3.1.jar:3.1.0]
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) ~[spring-webmvc-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[servlet-api-3.1.jar:3.1.0]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:751) ~[jetty-servlet-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1666) ~[jetty-servlet-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:171) ~[websocket-server-9.2.1.v20140609.jar:9.2.1.v20140609]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636) ~[jetty-servlet-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:140) ~[spring-security-oauth2-2.0.4.RELEASE.jar:na]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636) ~[jetty-servlet-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.marsik.elshelves.backend.app.WebFormSupportFilter.doFilterInternal(WebFormSupportFilter.java:34) ~[classes/:na]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636) ~[jetty-servlet-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.marsik.elshelves.backend.app.spring.CORSFilter.doFilter(CORSFilter.java:22) ~[classes/:na]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636) ~[jetty-servlet-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.springframework.boot.context.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:109) ~[spring-boot-1.1.9.RELEASE.jar:1.1.9.RELEASE]
    at org.springframework.boot.context.web.ErrorPageFilter.access$000(ErrorPageFilter.java:59) ~[spring-boot-1.1.9.RELEASE.jar:1.1.9.RELEASE]
    at org.springframework.boot.context.web.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:88) ~[spring-boot-1.1.9.RELEASE.jar:1.1.9.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.boot.context.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:101) ~[spring-boot-1.1.9.RELEASE.jar:1.1.9.RELEASE]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636) ~[jetty-servlet-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:564) ~[jetty-servlet-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) ~[jetty-security-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498) ~[jetty-servlet-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.Server.handle(Server.java:461) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:284) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244) ~[jetty-server-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534) ~[jetty-io-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) ~[jetty-util-9.2.5.v20141112.jar:9.2.1.v20140609]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) ~[jetty-util-9.2.5.v20141112.jar:9.2.1.v20140609]
    at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]
Caused by: java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to java.lang.Class
    at org.springframework.data.neo4j.support.GenericTypeExtractor.resolveConcreteType(GenericTypeExtractor.java:45) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.data.neo4j.support.GenericTypeExtractor.resolveReturnedType(GenericTypeExtractor.java:32) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.data.neo4j.repository.query.GraphQueryMethod.getCompoundType(GraphQueryMethod.java:123) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.data.neo4j.repository.query.GraphRepositoryQuery.dispatchQuery(GraphRepositoryQuery.java:106) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.data.neo4j.repository.query.GraphRepositoryQuery$1.doWithGraph(GraphRepositoryQuery.java:89) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.data.neo4j.support.Neo4jTemplate.doExecute(Neo4jTemplate.java:457) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.data.neo4j.support.Neo4jTemplate.access$000(Neo4jTemplate.java:87) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.data.neo4j.support.Neo4jTemplate$2.doInTransaction(Neo4jTemplate.java:471) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) ~[spring-tx-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.data.neo4j.support.Neo4jTemplate.exec(Neo4jTemplate.java:468) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.data.neo4j.repository.query.GraphRepositoryQuery.execute(GraphRepositoryQuery.java:83) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.data.neo4j.repository.query.DerivedCypherRepositoryQuery.execute(DerivedCypherRepositoryQuery.java:39) ~[spring-data-neo4j-3.2.1.RELEASE.jar:na]
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:384) ~[spring-data-commons-1.8.4.RELEASE.jar:na]
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:344) ~[spring-data-commons-1.8.4.RELEASE.jar:na]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:267) ~[spring-tx-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) ~[spring-tx-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at com.sun.proxy.$Proxy143.findByOwner(Unknown Source) ~[na:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_25]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_25]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_25]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_25]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201) ~[spring-aop-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at com.sun.proxy.$Proxy144.findByOwner(Unknown Source) ~[na:na]
    at org.marsik.elshelves.backend.services.AbstractRestService.getAllEntities(AbstractRestService.java:76) ~[classes/:na]
    at org.marsik.elshelves.backend.services.AbstractRestService.getAllItems(AbstractRestService.java:154) ~[classes/:na]
    at org.marsik.elshelves.backend.controllers.AbstractRestController.getAll_aroundBody0(AbstractRestController.java:51) ~[classes/:na]
    at org.marsik.elshelves.backend.controllers.AbstractRestController$AjcClosure1.run(AbstractRestController.java:1) ~[classes/:na]
    at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96cproceed(AbstractTransactionAspect.aj:60) ~[spring-aspects-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.transaction.aspectj.AbstractTransactionAspect$AbstractTransactionAspect$1.proceedWithInvocation(AbstractTransactionAspect.aj:66) ~[spring-aspects-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:267) ~[spring-tx-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:64) ~[spring-aspects-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.marsik.elshelves.backend.controllers.AbstractRestController.getAll(AbstractRestController.java:46) ~[classes/:na]
    at org.marsik.elshelves.backend.controllers.AbstractRestController$$FastClassBySpringCGLIB$$7196bd7d.invoke(<generated>) ~[spring-core-4.1.2.RELEASE.jar:na]
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717) ~[spring-aop-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:267) ~[spring-tx-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653) ~[spring-aop-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.marsik.elshelves.backend.controllers.BoxController$$EnhancerBySpringCGLIB$$358a33e5.getAll(<generated>) ~[spring-core-4.1.2.RELEASE.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_25]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_25]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_25]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_25]
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) ~[spring-web-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) ~[spring-web-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) ~[spring-webmvc-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781) ~[spring-webmvc-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721) ~[spring-webmvc-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) ~[spring-webmvc-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) ~[spring-webmvc-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) ~[spring-webmvc-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) ~[spring-webmvc-4.1.2.RELEASE.jar:4.1.2.RELEASE]
    ... 67 common frames omitted

0 个答案:

没有答案