NullPointerException categoriaService- Spring 4
Pessoal, estou iniciando o Spring agora, e esta dando o seguinte erro :
Segue meu Bean:
Serviço
servlet-context.xml
O meu problema esta aqui, o serviço esta vindo como nullo:
SEVERE: Received 'java.lang.NullPointerException' when invoking action listener '#{cadastroClienteBean.cadastrar}' for component 'j_idt8'
Jan 30, 2015 10:36:35 AM javax.faces.event.MethodExpressionActionListener processAction
SEVERE: java.lang.NullPointerException
at br.com.projetospringjsf.controller.CadastroClienteBean.cadastrar(CadastroClienteBean.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:278)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:273)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:148)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:775)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251)
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:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Jan 30, 2015 10:36:35 AM com.sun.faces.context.AjaxExceptionHandlerImpl log
SEVERE: JSF1073: javax.faces.event.AbortProcessingException caught during processing of INVOKE_APPLICATION 5 : UIComponent-ClientId=j_idt7:j_idt8, Message=/LayoutPadrao.xhtml @17,54 actionListener="#{cadastroClienteBean.cadastrar}": java.lang.NullPointerException
Jan 30, 2015 10:36:35 AM com.sun.faces.context.AjaxExceptionHandlerImpl log
SEVERE: /LayoutPadrao.xhtml @17,54 actionListener="#{cadastroClienteBean.cadastrar}": java.lang.NullPointerException
javax.faces.event.AbortProcessingException: /LayoutPadrao.xhtml @17,54 actionListener="#{cadastroClienteBean.cadastrar}": java.lang.NullPointerException
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:775)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251)
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:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
Segue meu Bean:
@ManagedBean(name = "cadastroClienteBean")
@SessionScoped
public class CadastroClienteBean implements Serializable {
private static final long serialVersionUID = 1L;
@Autowired
private CategoriaService categoriaService;
// action listener event
public void cadastrar(ActionEvent event) {
System.out.println("dfsafdfsad");
List<Categoria> list = categoriaService.listCategoria();
System.out.println("dfsafdfsad");
}
}
Serviço
public interface CategoriaService {
public List<Categoria> listCategoria();
}
@Service
public class CategoriaServiceImpl implements CategoriaService{
@Override
public List<Categoria> listCategoria() {
List<Categoria> list = new ArrayList<Categoria>();
return list;
}
}
servlet-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
<!-- Scans within the base package of the application for @Components to configure as beans -->
<!-- @Controller, @Service, @Configuration, etc. -->
<context:component-scan base-package="br.com.projetospringjsf.controller" />
<!-- Enables the Spring MVC @Controller programming model -->
<mvc:annotation-driven />
</beans>
O meu problema esta aqui, o serviço esta vindo como nullo:
@Autowired private CategoriaService categoriaService;
Evandro Abreu
Curtidas 0
Respostas
Ronaldo Lanhellas
30/01/2015
Você colocou o get() e set() do CategoriaService dentro do ManagedBean ?
GOSTEI 0
Ronaldo Lanhellas
30/01/2015
Você colocou o get() e set() do CategoriaService dentro do ManagedBean ?
GOSTEI 0
Evandro Abreu
30/01/2015
gerei sim os getters e setters.
abc
abc
GOSTEI 0
Ronaldo Lanhellas
30/01/2015
Tente assim:
@Autowired private CategoriaServiceImpl categoriaService;
GOSTEI 0
Evandro Abreu
30/01/2015
Ronaldo, mesmo problema.
abc
abc
GOSTEI 0
Ronaldo Lanhellas
30/01/2015
Bom, você entende que o seu @Service CategoriaServiceImpl não está sendo gerenciado pelo Spring ?
Pois bem, verifique se há algum erro no console a respeito de injeção de dependências dentro do CategoriaServiceImpl, ou faça um teste injetando o CategoriaServiceImpl em outro local diferente do CadastroClienteBean.
Aguardo seu retorno.
Pois bem, verifique se há algum erro no console a respeito de injeção de dependências dentro do CategoriaServiceImpl, ou faça um teste injetando o CategoriaServiceImpl em outro local diferente do CadastroClienteBean.
Aguardo seu retorno.
GOSTEI 0
Ronaldo Lanhellas
30/01/2015
Bom, você entende que o seu @Service CategoriaServiceImpl não está sendo gerenciado pelo Spring ?
Pois bem, verifique se há algum erro no console a respeito de injeção de dependências dentro do CategoriaServiceImpl, ou faça um teste injetando o CategoriaServiceImpl em outro local diferente do CadastroClienteBean.
Aguardo seu retorno.
Pois bem, verifique se há algum erro no console a respeito de injeção de dependências dentro do CategoriaServiceImpl, ou faça um teste injetando o CategoriaServiceImpl em outro local diferente do CadastroClienteBean.
Aguardo seu retorno.
GOSTEI 0