title: NullPointer exception in Spring Dependancy Injection with JSF2
body: <p>i am using jsf2 and spring for just as DI. when i am making request from page i am getting NullPointer Exception. Means Autowiring is not working.</p>
  
  <p>i am getting follwoing error. follwing is my whole Server log.</p>
  
  <pre><code>May 19, 2013 8:10:44 PM org.apache.catalina.startup.HostConfig deployDescriptor
  INFO: Deploying configuration descriptor C:\Users\kshitij\AppData\Roaming\NetBeans\7.3\apache-tomcat-7.0.34.0_base\conf\Catalina\localhost\Spirng_jsf.xml
  May 19, 2013 8:10:47 PM org.springframework.web.context.ContextLoader initWebApplicationContext
  INFO: Root WebApplicationContext: initialization started
  May 19, 2013 8:10:47 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
  INFO: Refreshing Root WebApplicationContext: startup date [Sun May 19 20:10:47 IST 2013]; root of context hierarchy
  May 19, 2013 8:10:47 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
  INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/beans.xml]
  May 19, 2013 8:10:47 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
  INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@34ab7a: defining beans [myBean,userdaoImpl,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
  May 19, 2013 8:10:47 PM org.springframework.web.context.ContextLoader initWebApplicationContext
  INFO: Root WebApplicationContext: initialization completed in 714 ms
  May 19, 2013 8:10:47 PM com.sun.faces.config.ConfigureListener contextInitialized
  INFO: Initializing Mojarra 2.1.13 ( 20120907-1514) for context '/Spirng_jsf'
  May 19, 2013 8:10:47 PM com.sun.faces.spi.InjectionProviderFactory createInstance
  INFO: JSF1048: PostConstruct/PreDestroy annotations present.  ManagedBeans methods marked with these annotations will have said annotations processed.
  May 19, 2013 8:10:48 PM org.apache.catalina.util.LifecycleBase start
  INFO: The start() method was called on component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Spirng_jsf]] after start() had already been called. The second call will be ignored.
  May 19, 2013 8:11:34 PM javax.faces.component.UIViewRoot$ViewMap put
  WARNING: Setting non-serializable attribute value into ViewMap: (key: myBean, value class: com.ksh.excel.MyBean)
  May 19, 2013 8:11:34 PM com.sun.faces.lifecycle.InvokeApplicationPhase execute
  WARNING: #{myBean.kshitij}: java.lang.NullPointerException
  javax.faces.FacesException: #{myBean.kshitij}: java.lang.NullPointerException
      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:117)
      at javax.faces.component.UICommand.broadcast(UICommand.java:315)
      at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
      at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
      at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
      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:472)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
      at java.lang.Thread.run(Thread.java:619)
  Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
      at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:101)
      ... 26 more
  Caused by: java.lang.NullPointerException
      at com.ksh.excel.MyBean.kshitij(MyBean.java:26)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.el.parser.AstValue.invoke(AstValue.java:278)
      at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
      at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
      at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
      ... 27 more
  </code></pre>
  
  <p>My Interface.</p>
  
  <pre><code>package com.ksh.excel;
  import org.springframework.stereotype.Component;
  @Component
  public interface Userdao {    
      public void print();
  }
  </code></pre>
  
  <p>Interface Implementation</p>
  
  <pre><code>package com.ksh.excel;
  import org.springframework.stereotype.Component;
  @Component
  public class UserdaoImpl implements Userdao {
  
      @Override
      public void print() 
      {
          System.out.println("Kshitij ***********************************");
      }
  
  }
  </code></pre>
  
  <p>and JSF managed Bean</p>
  
  <pre><code>package com.ksh.excel;
  
  import javax.faces.bean.ManagedBean;
  import javax.faces.bean.ViewScoped;
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.stereotype.Component;
  
  @ManagedBean
  @ViewScoped
  @Component
  public class MyBean {
  
      @Autowired
      private Userdao userdao;
  
      public String kshitij()
      {
          userdao.print();
          return null;
      }
  }
  </code></pre>