Olá amigos do Preciso Estudar Sempre. Antes que vocês perguntem porque eu fiquei quase 1 mês sem publicar nada, eu já antecipo a resposta. Tempo, foi o que faltou. Assuntos não faltam embora sugestões sejam sempre bem vindas mas, sem tempo as coisas ficam difícies. Peço desculpa à todos pelo grande intervalo.
Bem, já que terminamos a parte mi mi mi, vamos falar de algo bom (e não é da texpix) ? Você já ouviu falar sobre o Spring Framework, né !? Aposto que sim mas, você já ouviu algo sobre os outros projetos da comunidade Spring ? Não ? Como não ?! É amigo, eu imagino que você deve estar se sentindo assim:
"Ainnnn João, eu mal sei o Spring normal, quem dirá os outros projetos ??? O que eu faço agora ?? Ai meu deusssuuu"
Calma amigão, o mundo não vai acabar. A Spring community possuem vários projetos, não tem como você saber de todos mas, caso você queira conhecer eles, eu sugiro que você dê uma olhada no site. Deixarei linkado nas referências.
Um desses projetos é o Spring Roo. Com ele é possível criar sistemas com linhas de comando. Sim, você não leu errado, eu disse linhas de comando assim como, as que digitamos em um console de um sistema operacional.
Sua reação: "Meuuuuuu deuuuussuuuu, to passsadddaa, não acredittttôôô !!!"
Não irei explicar neste post o que significa inversão de controle e injeção de dependência. O intuito aqui não é esse. O que iremos abordar aqui hoje é como realizar a instalação do Spring Roo e como usar. É recomendado conhecimento pleno em programação e Java para que, seja possível absorver todo o conhecimento que estou tentando passar.
Agora que você já se recuperou do choque de que, é possível construir aplicações Java de uma forma veloz com linhas de comando, você se pergunta o motivo de usar isso na sua empresa e o que é na verdade esse framework.
Vamos retirar um trecho do manual (deixarei linkado nas referências):
Spring Roo is an easy-to-use productivity tool for rapidly building enterprise applications in the Java programming language. It allows you to build high-quality, high-performance, lock-in-free enterprise applications in just minutes. Best of all, Roo works alongside your existing Java knowledge, skills and experience. You probably won't need to learn anything new to use Roo, as there's no new language or runtime platform needed. You simply program in your normal Java way and Roo just works, sitting in the background taking care of the things you don't want to worry about. It's an approach unlike anything you've ever seen before, we guarantee it!
Segundo a documentação, o Spring Roo é uma ferramenta de fácil uso para construção rápida de aplicações corporativas na linguagem de programação Java. Ele permite que você construa aplicações com alta qualidade, performance e flexibilidade em poucos minutos. O melhor de tudo é que o Roo trabalha junto com o conhecimento, habilidade e experiências Java que já existem. Você provavelmente não precisará aprender nada novo para usar o Roo, pelo fato de não ser necessário nenhuma nova linguagem ou plataforma de execução. Você simplesmente programa da forma que sempre programou e o Roo simplesmente funciona, ficando no background da aplicação, tomando conta das coisas que você não quer se preocupar. É uma abordagem diferente de tudo que você já viu antes, nós garantimos isso.
Acho que não é necessário mais explicações sobre o que é o Roo e porque usar. Para podermos começar a usar o Roo, precisaremos:
- Java 6 ou 7, com varíavel $JAVA_HOME instalada.
- Maven, deixarei nas referências linkado como faz a instalação.
- Spring Roo 3.11, clique aqui para baixar.
- Console do seu sistema operacional.
OBS.: Estou usando o Windows.
Vamos começar a instalação do Spring Roo.
1 - Ponha o arquivo .zip do Spring Roo em uma pasta de sua preferência, e descompacte o arquivo.
2 - Depois de descompactado, abra seu painel de controle.
3 - Abra as variáveis do sistema.
4- Crie a variável de sistema ROO_HOME, onde seu valor será o lugar aonde você descompactou o arquivo com extensão zip.
5 - Edite a variável de sistema Path e adicione no fim do valor da variável (não se esqueça dos pontos e vírgula) o seguinte valor: %ROO_HOME%\bin
1 - Ponha o arquivo .zip do Spring Roo em uma pasta de sua preferência, e descompacte o arquivo.
2 - Depois de descompactado, abra seu painel de controle.
3 - Abra as variáveis do sistema.
Figura 1 - Tela das variáveis de sistema |
Figura 2 - Instalação da variável de sistema ROO_HOME |
Figura 3 - Edição da variável Path |
7 - Abra o prompt de comando e digite roo, espere um pouco e a tela abaixo deverá ser exibida.
Figura 4 - Spring Roo |
O dono do lava-carros, o sr Prohazca, nos contratou para a construção de um sistema onde, ele quer cadastrar seus funcionários, os carros dos clientes e os serviços de lavagem.
Depois do levantamento de requisitos, construímos o diagrama de classes.
Figura 5 - Diagrama de classe |
Podemos por a mão na massa e construir o sistema ?
Sim !!
Crie uma pasta e nomeie como workspace_roo. Dentro dessa pasta crie uma pasta chamada lavacarros e abra o prompt de comando. Após aberto, acesse a pasta recém criada e execute o comando roo.
Execute os comandos abaixo:
project --topLevelPackage br.com.lavacarros
O Spring Roo oferece um comando chamado hint. Esse comando oferece uma dica onde, ele indica qual o próximo passo tomar, por exemplo: Se você acabou de criar a pasta do projeto, iniciou o roo ali dentro, não sabe o que fazer e executou o hint, o roo ensinará como é possível construir um projeto. Essa ajuda é muito importante para usuários não tão experientes.
Temos agora algo parecido com isso:
Figura 6 - Estrutura do nosso projeto |
jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
É possível especificar diversos provedores de persistência e bancos de dados. Para mais detalhes consulte o manual o qual, estará linkado aqui embaixo com os dados do nosso projeto.
Vamos criar nossas entidades agora. Execute o seguinte comando.
entity jpa --class ~.model.entity.Carro --testAutomatically
Lembra do ~ que citamos acima ? Aí está ele. Estamos informando ao comando entity que queremos criar uma entidade JPA no pacote entity, pertencente ao pacote model do nosso pacote principal. Note também que marcamos esse comando com --testAutomatically. Isso significa que nosso projeto já estará integrado com testes automatizados do Selenium. Execute o comando acima para as entidades Servico e Funcionario.
Já estamos quase terminado, aguenta firme !!
Vamos criar os atributos das nossas entidades. Vamos começar pela classe Servico.
field number --fieldName id --type java.lang.Long --class ~.model.entity.Servico
field date --fieldName dtServico --type java.util.Date --class ~.model.entity.Servico
Adicione agora os atributos da classe Carro.
field number --fieldName id --type java.lang.Long --class ~.model.entity.Carro
field string --fieldName placa --class ~.model.entity.Carro --notNull
field number --fieldName ano --type java.lang.Integer --class ~.model.entity.Carro
field string --fieldName marca --class ~.model.entity.Carro --notNull
field string --fieldName modelo --class ~.model.entity.Carro
Os comandos são auto explicativos. Adicione os atributos da classe Funcionario,
field number --fieldName id --type java.lang.Long --class ~.model.entity.Funcionario
field string --fieldName nomeCompleto --class ~.model.entity.Funcionario --notNull --sizeMax 100
field number --type java.lang.Long --fieldName cpf --class ~.model.entity.Funcionario --notNull
field number --type java.lang.Long --fieldName rg --class ~.model.entity.Funcionario --notNull
field date --type java.util.Date --fieldName dtNascimento --class ~.model.entity.Funcionario
Agora que já adicionamos os atributos em nossas classes, vamos criar seus relacionamentos.
field reference --fieldName funcionario --type ~.model.entity.Funcionario --class ~.model.entity.Servico
field reference --fieldName carro --type ~.model.entity.Carro --class ~.model.entity.Servico --notNull
Falta muito pouco para terminarmos. Execute os seguintes comandos:
web mvc setup
web mvc all --package ~.web
O comando acima escaneia todo o projeto a fim de, analisar todas as entidades e criar a camada web pertinente à ela. O atributo package é usado a fim de especificar o pacote padrão para a camada web de nossa aplicação.
Pronto !!! Agora sim !!! Terminamos !! Podemos por para funcionar. Digite exit no roo e execute o comando:
mvn tomcat:run
Além de termos um sistema construído em poucos instantes, conseguimos realizar seu deploy através de comando único. É importante ressaltar que os comandos do maven só funcionarão, se a pasta corrente do prompt for onde está o arquivo pom.xml.
O Spring roo oferece suporte a segurança, utilizando Spring Security, entre outras características. Para baixar nosso projeto pronto com a documentação do roo e o diagrama de classes, clique aqui.
Sugestões ?! Críticas ?! Elogios ?!
Deixe aí nos comentários ou na nossa página do facebook.
Referências:
Site oficial do Spring: https://spring.io/
Link para baixar Spring Roo: http://projects.spring.io/spring-roo/#running-from-shell
Instalação do maven: https://maven.apache.org/download.cgi - seção Installation Instructions
Nosso projeto: https://www.dropbox.com/s/f4v7361gkwkml61/workspace_roo.rar?dl=0
Instalação do maven: https://maven.apache.org/download.cgi - seção Installation Instructions
Nosso projeto: https://www.dropbox.com/s/f4v7361gkwkml61/workspace_roo.rar?dl=0
Nenhum comentário:
Postar um comentário