Dúvidas no funcionamento do VRaptor

Galera estou com uma pequena dúvida:

Por que o VRpator não injeta a seguinte dependência para min:

@Resource
public class CostCenterController {
	private final GenericDao<CostCenter> dao;
	
	public CostCenterController(GenericDao<Costcente> dao){		
		this.dao = dao;					
	}
	
	@Get
	@Path("/costcenters")
	public List<CostCenter> list(){
		return this.dao.listAll();
	}		
}

vc tem uma implementação de GenericDao? ou vc só tem o GenericDao anotado com @Component? se for a segunda opção não vai funcionar mesmo… o VRaptor não vai conseguir adivinhar que GenericDao é a implementação pra

Lucas obrigado pela resposta, então quer dizer que usar Objetos genéricos no vraptor não há possibilidade, pois eu tinha a seguinte classe:

@Component
public class DaoGeneric<T> implements Dao<T> {
	private final Session session;	
	private Class<T> entity;
		
	public DaoGeneric(Session session, Class<T> entity){
		this.session = session;
		this.entity =  entity;
	}	
	
      //Insert, update, delete...
}

E dessa forma não foi possivel o Vraptor não instância a dependençia para min, ai tive q criar a seguinte classe para que a injeção fosse possível :

@Component
public class CostCenterDao extends DaoGeneric<CostCenter> {	
	
	public CostCenterDao(Session session){
		super(session, CostCenter.class);		
	}
	
}

Minha pergunta é: Essa é a melhor forma, pois terei que criar uma classe para cada Dao necessário no sistema?

percebe que o VRaptor não tem como saber qual é a Class que ele vai ter que injetar? Lembre-se que o tipo genérico é apagado em tempo de execução…

desse modo o jeito seria criar uma classe específica para cada dao mesmo.
Dê uma olhada nesse post:

[]'s

[quote=Lucas Cavalcanti]percebe que o VRaptor não tem como saber qual é a Class que ele vai ter que injetar? Lembre-se que o tipo genérico é apagado em tempo de execução…

desse modo o jeito seria criar uma classe específica para cada dao mesmo.
Dê uma olhada nesse post:

[]'s[/quote]

Lucas, obrigado mais uma vez, excelente post vou implementar essa ídeia de repository.