<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Apanhando da Injeção de dependencia - [RESOLVIDO]"]]></title>
		<link>http://forum.mentaframework.org/posts/list/3.page</link>
		<description><![CDATA[Latest messages posted in the topic "Apanhando da Injeção de dependencia - [RESOLVIDO]"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Apanhando da Injeção de dependencia - [RESOLVIDO]</title>
				<description><![CDATA[ Pessoal, boa tarde, já li o faq, já busquei no forúm e nada. 
Mudei todo o meu código para utilizar DI porém agora que finalizei e fui testar, está dando StackOverFlow. Claro que estou fazendo alguma coisa errada, mas o que?

Tenho os seguintes pacotes:
  model
  dao
    interface
  action

Não tenho as classes services, porque neste momento estou fazendo na Action mesmo. ( Seria o próximo passo caso a mudança acima tivesse dado certo. )

Meu ApplicationManager
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
public void loadActions&#40;&#41; {
	filter&#40;new AuthenticationFilter&#40;&#41;&#41;;
	on&#40;LOGIN, redir&#40;"/index.jsp"&#41;&#41;;
		
	filter&#40; new ConnectionFilter&#40;"conn", connHandler&#41; &#41;;
	filter&#40; new IoCFilter&#40;&#41; &#41;;
		
	ioc&#40;"usuarioDao", UsuarioDao.class &#41;;
	ioc&#40;"agenteCreditoDao", AgenteCreditoDao.class &#41;;
	
	filter&#40; new DIFilter&#40;&#41; &#41;;
	
	di&#40;"conn", Connection.class &#41;;
		
	di&#40;"agenteCreditoDao", IAgenteCreditoDao.class &#41;;
	di&#40;"usuarioDao", IUsuarioDao.class &#41;;

	filter&#40; new InjectionFilter&#40;&#41; &#41;;
		
... 
...
}
</pre>
		</div>
No momento do login, ele da o erro acima.
Meu LoginAction
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
public class LoginUser extends BaseLoginAction {
    
    // instanciado via injecao de dependencia
    private IUsuarioDao usuarioDao = null;
    private IConfiguracaoDao configuracaoDao = null;

    @SuppressWarnings&#40;"unchecked"&#41;
	public String login&#40;&#41; throws Exception {
        Usuario usuario = usuarioDao.isValid&#40; 
                input.getValue&#40;"usuario"&#41;.toString&#40;&#41;.toUpperCase&#40;&#41;, 
                input.getValue&#40;"senha"&#41;.toString&#40;&#41;.toUpperCase&#40;&#41;, true &#41;;
        
        if &#40; usuario != null &#41;{
            setUserSession&#40; usuario &#41;;
            session.setAttribute&#40;"usuario", usuario &#41;;
            HashMap configuracoes = configuracaoDao.getAll&#40;&#41;;
            session.setAttribute&#40; "configuracoes", configuracoes &#41;;
            if &#40; usuario.getEagente&#40;&#41;.equals&#40;"S"&#41; &#41;
                return AGENTE;
            else
                return "success";
        }else{
            output.setValue&#40;"error", "Usu&aacute;rio ou senha inv&aacute;lidos!" &#41;;
            return INICIO;
        }
    }
    
}
</pre>
		</div>
Meu UsuarioDao
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
public class UsuarioDao implements IUsuarioDao {
    
    private Connection conn;
    public void setConnection&#40; Connection conn &#41;{
    	this.conn = conn;
    }

    private IAgenteCreditoDao agenteCreditoDao = null;
    
    public UsuarioDao&#40;&#41; {
    }
    
    public UsuarioDao&#40; Connection conn &#41;{
        this.conn = conn;
    }
...
}
</pre>
		</div>
Esta classe recebe um IAgenteCreditoDao  para validacoes. E tem um metodo para testar o login do usuario.

Meu AgenteCreditoDao
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
public class AgenteCreditoDao implements IAgenteCreditoDao {

    private Connection conn;
    public void setConnection&#40; Connection conn &#41;{
    	this.conn = conn;
    }

    private IUsuarioDao usuarioDao = null;

    public AgenteCreditoDao&#40;&#41; {}

    public AgenteCreditoDao&#40;Connection conn&#41; {
        this.conn = conn;
    }
...
}
</pre>
		</div>
Esta classe tem um IUsuarioDao para rotinas durante o uso do sistema.

A aplicação sobe normalmente, porém quando envio o form de login ( que é a primeira acao ), acontece o erro.

como resolver?]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/2347.page#17523</guid>
				<link>http://forum.mentaframework.org/posts/list/2347.page#17523</link>
				<pubDate><![CDATA[Tue, 26 Jan 2010 13:26:27]]> GMT</pubDate>
				<author><![CDATA[ solracnet]]></author>
			</item>
	</channel>
</rss>
