2013-08-13 17 views
25

ben bir NullPointerException alıyorum Can İşte StackTrace var: Bahar sizin PagePopulationInterceptor yönetmek olmadığı için değilautowire Servis HandlerInterceptorAdapter

java.lang.NullPointerException 
    com.mycompany.util.PagePopulationInterceptor.postHandle(PagePopulationInterceptor.java:22) 
    org.springframework.web.servlet.HandlerExecutionChain.applyPostHandle(HandlerExecutionChain.java:149) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:934) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) 
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 
+0

Yığın traktörü gönderir misiniz? –

cevap

71

örneği. Aşağıdaki kodda bunu bir @Bean yöntemle üretilen beri bu sayede

@Bean 
public PagePopulationInterceptor pagePopulationInterceptor() { 
    return new PagePopulationInterceptor(); 
} 

public @Override void addInterceptors(InterceptorRegistry registry) { 
    registry.addInterceptor(pagePopulationInterceptor()); 
} 

için, Bahar PagePopulationInterceptor örneğinin yaşam döngüsünü yönetmek edeceğini

public @Override void addInterceptors(InterceptorRegistry registry) { 
    registry.addInterceptor(new PagePopulationInterceptor()); 
} 

değişim kendini yaratıyor. İlkbahar @Autowired hedefleri için tarar ve bunları enjekte eder.

Bu, PagePopulationInterceptor paketinin @ComponentScan ed biçiminde olduğunu varsayar.

+1

@dtrunk Rica ederim. Bir 'Otomatik Kablolu 'alanı null olduğunda, eksik çekirdekler için içeriğinizi kontrol edin. –

+1

Btw .: Bileşen taramasıyla birlikte '@ Bileşen'in kullanılması' 'Bean 'açıklamalı yönteminin oluşturulmasından çok daha iyidir ;-) – dtrunk

+0

@dtrunk Bu örnekte, ne dediğinizi yapmak için değiştirmeniz gerekecek? –