Java 注册资源处理器时,ResourceProcessorHandlerMethodReturnValueHandler中的NPE
我已经创建了一个自定义存储库,并希望它按照SpringRESTBucks示例注册到SpringDataREST存储库Java 注册资源处理器时,ResourceProcessorHandlerMethodReturnValueHandler中的NPE,java,spring,spring-mvc,spring-data,spring-data-rest,Java,Spring,Spring Mvc,Spring Data,Spring Data Rest,我已经创建了一个自定义存储库,并希望它按照SpringRESTBucks示例注册到SpringDataREST存储库 @RestController public class BuildingController implements ResourceProcessor<RepositoryLinksResource> { public static final String PAGES_REL = "pages"; @Autowired(required=true)
@RestController
public class BuildingController implements ResourceProcessor<RepositoryLinksResource> {
public static final String PAGES_REL = "pages";
@Autowired(required=true)
public BuildingController(BuildingRepository repository) {
Assert.notNull(repository);
this.repository = repository;
}
private final BuildingRepository repository;
我找到了根本原因
在servlet-contect.xml中,我还配置了aop
<aop:aspectj-autoproxy >
<aop:include name="loggingAspect"/>
</aop:aspectj-autoproxy>
所以当我移除它时,一切都很好。
我还尝试添加proxy target class=“true”来强制CGLIB,但在同一个地方出现了堆栈溢出异常
不知道如何将AOP与SDR处理器结合起来?
有什么想法吗
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/root-context.xml
/WEB-INF/spring/spring-security.xml
/WEB-INF/spring/appServlet/servlet-context.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<context:component-scan base-package="com.my.app, org.springframework.security"/>
@Configuration
@ComponentScan( "com.my.app.platform" )
@EnableWebMvc
@EnableHypermediaSupport( type = EnableHypermediaSupport.HypermediaType.HAL )
public class WebMvcConfiguration extends RepositoryRestMvcConfiguration
{
<aop:aspectj-autoproxy >
<aop:include name="loggingAspect"/>
</aop:aspectj-autoproxy>