O que é o VRaptor 2

Vraptor é um controlador mvc que implementa diversos padrões muito falados hoje em dia, como inversão de controle e injeção de depêndencias, totalmente baseado em outros controladores e ferramentas como o JBoss Seam, Stripes, Webwork, Hibernate Annotations etc.

Ele está totalmente baseado em anotações. O resultado? Uma maneira mais simples de trabalhar com programação para a web. Suas lógicas de negócio não entram em contato com a api javax.servlet, com muito menos configuração do que outros controladores web.

Ele dá apoio para convenções em vez de configurações, uma vez que a configuração em arquivos xml, properties ou anotações se torna rapidamente extensiva e repetitiva.

A maior parte da configuração é feita em classes Java simples (POJOs) ou simplesmente não é feita, permitindo seguir um padrão onde quase nada precisa ser configurado.

Não perca tempo e veja nosso tutorial de um minuto!

Dúvidas? Pergunte no fórum do VRaptor.

Novidades do VRaptor

O VRaptor 2.4 traz diversas melhorias ( veja o release note completo). Está disponível um novo plugin para o maven2 que gera o arquivo vraptor.xml automaticamente. Agora, projetos do vraptor baseados no maven2 podem usar o mvn jetty:run.

Confira também o novo ScopeType.FLASH. Objetos neste escopo duram até a próxima requisição.

Motivos para usar o VRaptor

Se você precisa usar um controlador e sua equipe deve produzir logo código com boa qualidade, o VRaptor é um bom ponto de entrada.

Você vai encontrar soluções simples para diversos problemas comuns encontrados no Struts/Webwork/e afins:

  1. favorece convenções e minimiza configurações
  2. nada de comp?exas estruturas de configuração
  3. curva de aprendizado rápida
  4. não quebra encapsulamento, não usa herança e não permite
  5. lógica implementada em POJOs (favorece a reutilização)
  6. pequena coleção de poderosas opções: todos os projetos utilizam as mesmas ferramentas
  7. fácil de implementar e usar conversores diferentes
  8. sem necessidade de aprender complicadas taglibs: use aquilo que você já conhece
  9. você pode usar qualquer view, não está atrelado a jsp: velocity com sitemesh, por exemplo
  10. fácil e rápido de implementar testes funcionais

    Em vez de conectar diversas bibliotecas em uma, o VRaptor 2 tenta facilitar o seu trabalho de maneira simples e única: com o mínimo de configurações ele é capaz de resolver problemas que outros controladores possuem.

Exemplo

Veja o exemplo a seguir. É uma método que pode ser chamado remotamente através de uma url sem nenhuma configuração, nenhum xml!

@Component
public class PessoaLogic {

        public void adiciona(Pessoa pessoa) {
                System.out.printf("Adicionando %s ao banco de dados!%n", pessoa);
        }

}