Erro no login - Java Spring/MVC

Olá, pessoal!

Estou desenvolvendo uma aplicação web em java com Spring/MVC e estou tendo problemas na requisição de login.
Já vi inúmeros tutoriais e tópicos, mas ainda não consegui resolver o meu problema.
No código não apresenta nenhum erro. A tela de login abre, mas quando tento acessar meu index, aparece o erro 500.

========== ERRO QUE CAUSA QUANDO TENTO ACESSAR ============

GRAVE: Servlet.service() for servlet [muambyte] in context with path [/muambyte] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at br.com.impacta.controller.AdminController.efetuaLogin(AdminController.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)

============= CONTROLLER ===============

@Controller
public class AdminController {

/@Autowired/
public FuncionariosDAO funcionariosDAO;

@RequestMapping("/login")
public String login() {
return “login”;
}

@RequestMapping("/efetuaLogin")
public String efetuaLogin(String login, String senha, HttpSession session) {
Funcionario funcionario = funcionariosDAO.existeUsuario(login, senha);
if(funcionario == null){
session.setAttribute(“usuarioLogado”, senha);
return “index”;
}
return “redirect:login”;
}

================== METODOS DAO =====================

public Funcionario pesquisar(String login){
conexao = ConnectionFactory.getconnection();
Funcionario funcionario = this.conexao.find(Funcionario.class,login);
conexao.close();
return funcionario;
}

public Funcionario existeUsuario(String login, String senha){
Funcionario funcionario = this.pesquisar(login);
if(funcionario != null && funcionario.getSenha().equals(senha)){
return funcionario;
}
else{
return null;
}
}

Ola,
O problema esta na linha 37, o objeto esta null, provavelmente é o dao.

Ja que a injeção esta comentada

1 curtida

Campelo, boa tarde.

Obrigada pelo retorno. Eu comentei a injeção, pois essa anotação quebra toda a aplicação, nem a página de Login abre.
O estranho é que meu objeto não está vazio.

Teste do método pesquisar do DAO:
image

E minha tabela também tem dados e o login ta como primary key:
image

Da forma que esta fazendo o teste, realmente o DAO não sera null ja que esta dando um new.

Se a aplicacao esta se quebrando quando faz a injeção, entao o seu problema é na injeção.
Você teria que concertar isso.

Volte a anotacao Autowired suba o projeto e post a stack gerada.

Boa noite! Obrigada novamente pelo retorno.

Adicionei a anotação novamente e este é o erro que gera ao abrir a página de login.

GRAVE: StandardWrapper.Throwable
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘adminController’: Unsatisfied dependency expressed through field ‘funcionariosDAO’; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘br.com.impacta.dao.FuncionariosDAO’ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588)

Imaginei que seria algo no context, mas como sou iniciante, não sei se é preciso configurar algo.

Obrigada pela ajuda!

Eu consegui resolver! Mais tarde posto aqui a solução e mudo o tópico para resolvido.

Obrigada pela ajuda e empenho!!!