/cli-spring-boot-scaffold

command line for generate crud and configs for spring boot projects

Primary LanguageJava

spring-boot-scaffold

Join the chat at https://gitter.im/spring-boot-scaffold-kotlin/Lobby bagde

Overview

About

Generate scaffold with spring boot.

Generate CRUD basic with spring boot.

Scaffold for java web, a clean generate with simple classes.

Demo

Alert

In development. Help us! Make a fork

Refactoring in https://github.com/NetoDevel/generate-core

Requeriments

  • Java
  • Spring Boot CLI (1.4.1 or higher):

Install

Installing Spring Boot CLI

 $ spring version
 Spring CLI v1.4.1.RELEASE

And install the Spring Scaffold plugin

$ 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:{LATEST_RELEASE}

Usage

$ spring init --dependencies=web,data-jpa,thymeleaf,mysql --package-name=com.example my-project
$ cd my-project
$ spring setup:scaffold
$ spring scaffold -n "User" -p "name:String email:String"
$ spring db:create -p "mysql" (REMOVED)
$ mvn spring-boot:run

Default is spring 1.x, edit scaffold.info to change to 2.x before run spring scaffold.

Template command

$ spring template --list

  Templates available
  * jms-aws-sqs
  * openj9

Apply template

$ spring template -t jms-aws-sqs

Generate config to: jms-aws-sqs
CREATED src/main/java/com/example/cloudawsmessaging/consumer/MessageListener.java
CREATED src/main/java/com/example/cloudawsmessaging/consumer/EntryPointMessage.java
CREATED src/main/java/com/example/cloudawsmessaging/consumer/ProducerMessage.java
Add dependencies in pom.xml
Add properties in application.properties

cloud.aws.credentials.accessKey=xxxxxx
cloud.aws.credentials.secretKey=xxxxxx
cloud.aws.region.static=us-east-1
cloud.aws.stack.auto=false
cloud.aws.sqs.queue-name=my-queue.fifo

Template command documentation

Structure

__com
    __example
          MainApplication.java
          __model
              User.java
          __repository
              UserRepository.java
          __service
              UserService.java
          __controller
              UserController.java
 __src/main/resources
        __templates
             __user
                 form.html
                 index.html
                 show.html
        scaffold.info
        application.properties
HTTP Status Endpoints Function
GET /users list all users
GET /users/{id} show user
POST /users save user
PUT /users update user
DELETE /users/{id} delete user

Documentation

Commands Parameters Examples
spring model -n -p spring model -n "User" -p "name:String"
spring repository -n spring repository -n User
spring service -n spring service -n User
spring controller -n spring controller -n User
spring scaffold -n -p spring scaffold -n "User" -p "name:String mail:String"
spring setup:scaffold -n -db -u -p spring setup:scaffold -n "com.example" -db "dbname" -u "root" -p "root"
spring db:create -p spring db:create -p "mysql" (REMOVED)

License

The MIT License (MIT)

Copyright (c) SED

Permission is hereby granted, free of charge, to any person obtaining a 
copy of this software and associated documentation files (the "Software"), 
to deal in the Software without restriction, including without limitation 
the rights to use, copy, modify, merge, publish, distribute, sublicense, 
and/or sell copies of the Software, and to permit persons to whom the Software is 
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included 
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgment

Create By

SED