Para o pessoal que ficou curioso com o primeiro post sobre o Spring Roo aqui vai mais um post sobre esse assunto.
O que é Spring Roo?
Como a própria documentação do Spring Roo fala, Roo é uma ferramenta fácil e produtiva para construir Enterprise Applications com Java. Com Roo você não precisa aprender uma nova linguagem ou uma nova plataforma, você simplesmente programa em Java. Tudo que você precisa fazer é iniciar o Roo e deixar ele rodando enquanto você programa. Você pode interagir com Roo por linha de comando, mas na maior parte do tempo você apenas vai programar na sua IDE de preferencia. Enquanto você faz alterações no seu projeto Roo determina o que você esta tentando fazer e se encarrega disso para você.
Outra coisa importante sobre Roo é que ele não é usado quando seu projeto esta rodando em produção. Ou seja, você não vai encontrar nenhum jar do Roo no classpath ou Annotation compilada junto com sua classe. Desta forma você pode parar de usar Roo a qualquer momento do seu projeto.
Como instalar Spring Roo?
Antes de qualquer coisa precisamos garantir algumas dependências:
1 – Java 5 ou 6
2 – Maven 2.0.0 ou mais recente
Com as dependências resolvidas podemos instalar Roo com os seguintes passos:
1 – Fazer o download do Spring Roo em http://www.springsource.org/download
2 – Descompacte o arquivo Zip em um diretório de sua escolha, esse diretório será chamado de %ROO_HOME
3 – Se você usa Windows adiciona %ROO_HOMEbin na variável de ambiente %PATH%. Se você utiliza Linux ou Apple crie um link simbólico usando o comando ln -s $ROO_HOME/bin/roo.sh /usr/bin/roo
4 – Verifique se a Roo foi instalado corretamente, para isso abra o terminal e digite os comando “roo quit”:
(Opcional)
Para trabalhar com Roo é recomendado utilizar SpringSource Tool Suite (STS), uma ferramenta free que usa como base o Eclipse IDE e que tem varias features para trabalhar com Roo, mas você também pode trabalhar com a IDE de sua escolha. Neste e nos próximos posts eu vou utilizar a ferramenta STS.
Visão geral
Em sua atual versão Roo foca em Enterprise application escritas em Java utilizando banco de dados relacional, JPA para persistencia de dados, Spring FrameWork para injeção de dependência e controle de transação, JUnit para testes unitários, Maven para configuração e build e Spring MVC para camada de apresentação.
Outra característica do Spring Roo é que ele não adiciona camadas desnecessárias ao projeto. Normalmente uma aplicação tradicional é composta de uma camada com os DAO’s, uma camada com Serviços, uma camada de Domínio e uma camada de Controle. Já com Spring Roo você vai ter apenas uma camada web e uma camada de entidade (similar a camada de domínio). Porém uma camada de serviço pode ser adicionada se sua aplicação exigir.
Para as próximas releases Spring Roo pretende estender seu suporte para Cloud como Cloud Foundry, Amazon Web Services e Google App Engine. Também pretende dar suporte para Google Web ToolKit (GWT) e Flex.
Agora vamos iniciar nosso primeiro projeto utilizando Spring Roo





