Acho que é mais fácil explicar por código. Tenho uma classe (resumidamente) assim:
public class SuccessLoginCommand implements Command {
private LoginHistoryDao loginHistoryDao;
private Clock clock;
private Customer customer;
public SuccessLoginCommand(Customer customer) {
this.customer = customer;
}
@Autowired
public void setClock(Clock clock {
this.clock = clock;
}
@Autowired
public void setLoginHistoryDao(LoginHistoryDao loginHistoryDao) {
this.loginHistoryDao = loginHistoryDao;
}
@Override
public void execute() {
...
}
}
Aqui eu dependo das dessas interfaces que é resolvido pelo Spring (@Autowired) e pelo Customer que eu passo por parâmetro. A questão é, como instancio essa classe?
Assim?
Command cmd = new SuccessLoginCommand(customer);
//O que eu faço aqui para que o Spring injete as dependência
Ou assim?
Me parece que a segunda forma é a mais correta, mas não sei que classe resolve isso.
Outro detalhe que pode ser relevante é que estou usando a abordagem Annotation-Driven, não estou definindo minhas beans em Xml.
Obrigado 
