Spring - ajuda @Inject

4 respostas
I

Pessoal, Boa Tarde!

Estou seguindo o seguinte tutorial: http://javawora.blogspot.com.br/2011/12/tutorial-spring-mvc.html

Quando clico no botao Salvar, dá um erro no @Inject DespesaService despesaService ... reclama que esta nulo.

veja classe abaixo:

package controle;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.inject.Inject;

import servico.DespesaService;


@RequestScoped
@ManagedBean(name="despesaControle")
public class DespesaControle {
	
	@Inject
	DespesaService despesaService;

	public void gravar() {
		try {
			despesaService.gravar();
		} catch (Exception e) {
			System.out.println("getMessage: " + e.getMessage()); [color=red]--caia aqui[/color]
			System.out.println("getCause: " + e.getCause()); [color=red]--cai aqui[/color]
		}
	}

	public void remover() {
		despesaService.remover();
	}

	public void alterar() {
		despesaService.alterar();
	}	

	
}

interface DespesaService:

package servico;

public interface DespesaService {
	
	public void gravar();
	public void remover();
	public void alterar();

}

class DespesaServiceNacional:

package impl;

import servico.DespesaService;
import dao.DespesaDAO;

import javax.inject.Inject;

public class DespesaServiceNacional implements DespesaService {
	
	@Inject
	DespesaDAO despesaDAO;

	public void gravar() {
		System.out.println("gravando nacional ....");
		try {
			despesaDAO.gravar();
		} catch (Exception e) {
			System.out.println("*getMessage: " + e.getMessage());
			System.out.println("*getCause: " + e.getCause());
		}		
	}

	public void remover() {
		System.out.println("removendo nacional ....");
		despesaDAO.remover();
	}

	public void alterar() {
		System.out.println("alterando nacional ....");
		despesaDAO.alterar();
	}	

}

interface DespesaDAO:

package dao;

public interface DespesaDAO {
	
	public void gravar();
	public void remover();
	public void alterar();

}

class JDBCDespesaDAO:

package jdbc;

import dao.DespesaDAO;

public class JDBCDespesaDAO implements DespesaDAO{

	public void gravar() {
		System.out.println("gravando JDBC ....");		
	}

	public void remover() {
		System.out.println("removendo JDBC ....");		
	}

	public void alterar() {
		System.out.println("alterando JDBC...");		
	}

}
xhtml:
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:composition>
	<h:form>
		<h:panelGrid columns="1">
			<h:commandButton action="#{despesaControle.gravar()}" 
				value="gravar" />
			<h:commandButton action="#{despesaControle.alterar()}"
				value="alterar" />
			<h:commandButton action="#{despesaControle.remover()}"
				value="remover" />
		</h:panelGrid>
	</h:form>
</ui:composition>
</html>

Desde já agradeço a ajuda.

4 Respostas

WRYEL

o link que você passou é de Spring MVC, e me parece que você está usando JSF + Spring. Para essa combinação funcionar, vai depender da configuração correta do seu web.xml/faces-config.xml/applicationContext.xml.

Para injetar, você usa @Autowired, e não @Inject do J2EE (Até da para usar essa anotação também, mas, depende de mais configuração no seu applicationContext).

[]'s

I

WRYEL:
o link que você passou é de Spring MVC, e me parece que você está usando JSF + Spring. Para essa combinação funcionar, vai depender da configuração correta do seu web.xml/faces-config.xml/applicationContext.xml.

Para injetar, você usa @Autowired, e não @Inject do J2EE (Até da para usar essa anotação também, mas, depende de mais configuração no seu applicationContext).

[]'s

Obrigada pela ajuda. Estou começando agora no Spring.

Mesmo mudando para @Autowired dá na mesma.

Não tenho esse applicationContext.xml, irei pesquisar a respeito.

Qual a diferença Spring MVC e JSF + Spring?

Valeu.

WRYEL

Aqui tem um totorial bem simples e funcional de integração JSF 2 + Spring: http://www.mkyong.com/jsf2/jsf-2-0-spring-hibernate-integration-example/

[color=red]* Spring MVC: Um módulo do Spring que facilita o desenvolvimento usando MVC[/color]

fonte: http://pt.wikipedia.org/wiki/Spring_Framework

[]'s

I

WRYEL:
Aqui tem um totorial bem simples e funcional de integração JSF 2 + Spring: http://www.mkyong.com/jsf2/jsf-2-0-spring-hibernate-integration-example/

[color=red]* explicação sobre Spring MVC[/color]

fonte: http://pt.wikipedia.org/wiki/Spring_Framework

[]'s

Obrigada!

Criado 13 de abril de 2012
Ultima resposta 13 de abr. de 2012
Respostas 4
Participantes 2