Queria saber se é possível isso. Se existe alguma forma de não injetar via construtor as dependências do meu Controller.
Posso trabalhar com Vraptor sem injetar minhas dependências pelo Construtor
4 Respostas
sim, vc pode fazer via setter, atributo direto ou init method, usando a anotação @Inject em cima deles (ou @Autowired se vc estiver usando spring)
pq vc precisa disso?
Era só uma dúvida mesmo 
Outra pergunta:
Eu testava meu controller Mockando minhas dependências.
@Mock
private TesteDao testeDao;
private Result result;
private MeuController meuController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
this.result = new MockResult();
this.meuController = new MeuController(result, testeDao);
}
Então, Passava meus mocks quando eu dava um new no “MeuController”. Agora com a sua dica estou fazendo assim nos meus controllers.
@Autowired
private Result result;
@Autowired
private TesteDao testeDao;
Mas com isso, meus testes não estão mais funcionando. Quebrou foi tudo 
pq será? 
vc tirou o construtor, então não dá pra usar mesmo…
o que vc pode fazer é criar os setters, usar reflection pra setar direto o atributo, ou voltar com o construtor
Criado 6 de janeiro de 2012
Ultima resposta 9 de jan. de 2012
Respostas 4
Participantes 2