Injeção de Dependencia do JSF para o Spring

5 respostas
thidaudt

Galera estou fazendo um projetinho com JSF 2 e Spring 3, o problema é o seguinte:

  • Quando a requsição chega no meu UsuarioBean não estou conseguindo fazer a DI para o spring, a referência fica null.
    Já googliei pra todo lado mas não achei uma solução.

Meu UsuarioBean:

package br.com.sistema.controller.web;

import java.util.List;

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

import org.springframework.beans.factory.annotation.Autowired;

import br.com.sistema.application.service.UsuarioService;
import br.com.sistema.domain.model.Usuario;

@ManagedBean(name="usuarioBean")
@RequestScoped
public class UsuarioBean {
	
	@Autowired
	private UsuarioService usuarioService;

	private Usuario usuario;
	private List list;
	
        // Aqui deveria vir uma referência de UsuarioService do Spring mas vem null
	public void setUsuarioBean(UsuarioService usuarioService){
		this.usuarioService = usuarioService;
	}

Valeu galera!!!

5 Respostas

thidaudt

Ninguém?

L

O seu ManagedBean é gerenciado pelo JSF, não pelo Spring. Por isso, não vai reconhecer a anotação @Autowired.

A forma de integrar é fazer com que os beans do Spring sejam acessadas via EL do JSF (veja link).

Depois, faça a injeção, dentro dos Managedbeans, pela anotação @Inject, não @Autowired.

thidaudt

Eu cheguei a ver dessa maneira, mas se não me engano tem outra maneira de chamar um “service” do Spring sem ter que mesclar muito o Spring com o JSF, pois queria usar só a view e os managedBeans do JSF.
Será que da mesmo?
Abs

A

Alguém já fez injeção de dependências apenas com JSF usando o ManagedProperty? Sem o uso de Spring.

L

de hoje

Criado 29 de agosto de 2010
Ultima resposta 21 de mar. de 2011
Respostas 5
Participantes 4