Spring Boot Scaffold CLI
Hoje vamos fazer um CRUD só com a CLI (command-line interface) do spring boot e um plugin que faz um scaffold, que venho desenvolvendo com alguns colegas para usar na cli do spring boot.
O que é um scaffold?
Basicamente gerar para você o famoso CRUD (create, read, update, delete), usando linha de comando ou uma interface, IDE etc…
Nosso plugin está na primeira versão se você tiver interesse em contribuir o link do projeto é esse: https://github.com/NetoDevel/cli-spring-boot-scaffold
Demonstração em video
Você vai precisar
- Maven
- Spring CLI (1.4.1 ou superior)
- Plugin spring-boot-scaffold 0.1
Instalação da Spring CLI
A maioria dos dev java não tem costume de usar cli para desenvolver, caso você não tenha instalado a cli do spring boot, confira abaixo se não pule esse passo.
Instalação Manual
A instalação manual consiste em você fazer o download da cli e setar como variável de ambiente em seu sistema operacional.
Lembrando de setar na pasta /bin
Instalação usando SDKMan
Primeiro temos que instalar o SDKMAN e depois instalamos a cli por ele.(não funfa no windows)
Instalação SdkMan: http://sdkman.io/install.html
Após a instalação do sdkman
sdk install springboot 1.4.1.RELEASEsdk use springboot 1.4.1.RELEASE
Pronto, agora que temos instalado a cli vamos instalar agora o plugin spring-boot-scaffold 0.1
Instalação Plugin spring-boot-scaffold
$ git clone https://github.com/NetoDevel/cli-spring-boot-scaffold.git
$ cd cli-spring-boot-scaffold
$ mvn install
$ spring install br.com.netodevel:spring-scaffold-cli:0.0.1-SNAPSHOT
Feito isso vamos iniciar a criação do nosso CRUD
Inicialmente vamos criar nosso projeto com as dependências necessárias.
spring init --dependencies=web,data-jpa,thymeleaf,mysql my-project
Próximo passo entrar no projeto e executar o comando de configuração
$ cd my-project
$ spring setup:scaffold
O comando spring setup:scaffold vai criar dois arquivos necessário para nosso scaffold, um é o scaffold.info onde vai conter informações para os nossos generates como nome do pacote, nome do banco e etc. Após isso ele vai gerar o application.properties com as informações default que foram salvas no scaffold.info.
Agora vamos rodar o comando scaffold
spring scaffold -n "User" -p "name:String email:String"
bem esse comando você já deve saber o que vai acontecer ele vai gerar o nosso crud :)
Após isso vamos executar mais dois comandos
$ spring db:create -p "mysql"
$ mvn spring-boot:run
O comando db:create -p “mysql” vai criar o nosso banco localmente, e o outro vai executar a aplicação.
Pronto somente com esses passos criamos um crud com spring boot.