Bom dia galera, tudo certo?
Apesar de já ter terminado o curso, estou fazendo uma aplicação do zero para praticar tudo que tenho estudado, e escolhi o Spring para isto. Como já trabalhei com VRaptor e gostava muito do sistema de redirects e forwards, acabei criando uma classe utilitária para fazer algo similar(não gosto de trabalhar com as strings da URL diretamente):
public class Router {
    public static <T> T access(Class<T> controllerType) {
        return MvcUriComponentsBuilder.controller(controllerType);
    }
    public static String urlFor(Object invocationInfo) {
        return MvcUriComponentsBuilder
                .fromMethodCall(invocationInfo)
                .build()
                .toUriString();
    }
    public static String redirectTo(Object invocationInfo) {
        return "redirect:" + MvcUriComponentsBuilder
                .fromMethodCall(invocationInfo)
                .build()
                .toUriString();
    }
    public static String forwardTo(Object invocationInfo) {
        return "redirect:" + MvcUriComponentsBuilder
                .fromMethodCall(invocationInfo)
                .build()
                .toUriString();
    }
}Exemplo de utilização:
@RequestMapping(value = "/logout", method = RequestMethod.GET)
    public String logout() {
        return Router.redirectTo(Router.access(AdminLoginController.class).index());
    }Isto acabou me proporcionando um problema: caso eu precisar de objetos injetados pelos construtores dos métodos(como o RedirectAttributes), acaba inutilizando a minha classe.
Há alguma maneira de eu conseguir acesso a estas classes através de alguma Factory do próprio Spring, ou injetá-la com @Autowired? Pensei em gerar um @Bean para ela, mas para isto preciso de acesso a sua Factory ou construtor.
Pesquisei no tio Google não encontrei a resposta ainda, então decidi perguntar aqui no fórum. :)
Obrigado galera, abraço!
 
            