GithubHelp home page GithubHelp logo

jijuta / generator-springboot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sivaprasadreddy/generator-springboot

0.0 0.0 0.0 3.89 MB

A Yeoman generator for generating Microservice with SpringBoot

Home Page: https://www.npmjs.com/package/generator-springboot

License: MIT License

JavaScript 45.79% Java 53.02% Dockerfile 0.81% Shell 0.37%

generator-springboot's Introduction

generator-springboot

A Yeoman generator for generating Microservices with SpringBoot

How to use?

> npm install -g yo
> npm install -g generator-springboot
> yo springboot

Features

  • SpringBoot REST API with jar type packaging
  • CORS configuration
  • Swagger UI Integration
  • Spring Data JPA integration with option to select databases like MySQL, Postgresql, MariaDB etc
  • Flyway or Liquibase data migration support
  • SpringBoot Actuator configuration
  • TestContainers integration
  • JUnit 5
  • Docker configuration for Application, ELK, Prometheus, Grafana
  • Localstack configuration
  • Jenkinsfile
  • GitHub Actions Configuration
  • SonarQube, Google-java-format static analysis tools configuration

Generate SpringBoot Microservice

Microservice Generation Microservice Generation

Generate REST API with CRUD operations

You can generate REST API with CRUD operation using the following command:

๐Ÿ”† You should run the following command from within the generated project folder.

myservice> yo springboot:controller Customer --base-path /api/customers

This will generate:

  • JPA entity
  • Spring Data JPA Repository
  • Service
  • Spring MVC REST Controller with CRUD operations
  • Unit and Integration Tests for REST Controller
  • Flyway or Liquibase migration to create table

CRUD Generation

Why another generator when you have JHipster?

JHipster is an amazing SpringBoot application generator with lots and lots of cool features. However, there are certain JHipster features that does not fit for my preferences such as:

  1. I like jar packaging
  2. I like to use spring-boot-starter-* than configuring individual libraries
  3. I like to have an option to generate application without spring-security
  4. I prefer Flyway to Liquibase
  5. I like to have only minimum and required configuration ie no AsyncConfiguration, LocaleConfiguration, CacheConfiguration, Logstash Logging etc.
  6. I like .properties over .yml

Local Development Setup

> git clone https://github.com/sivaprasadreddy/generator-springboot.git
> cd generator-springboot
> npm install 
> npm link
> yo springboot

Changelog

Version 0.0.5

  • Added support for generating docker-compose yml files for application, ELK, Prometheus, Grafana

Version 0.0.6

Version 0.0.7

  • Removed support for generation of config-server and service-registry
  • Updated SpringBoot and other libraries version

Version 0.0.8

  • Configured Checkstyle, PMD, SonarQube, google-java-format plugins
  • Added Localstack autoconfiguration support

Version 0.0.10

  • Upgraded SpringBoot to 2.6.7 and library versions
  • Updated Spring Cloud AWS setup to use new https://awspring.io/ based configuration
  • Removed springfox-boot-starter and used springdoc-openapi-ui
  • Added google-java-format support
  • Upgraded plugins versions
  • Removed Checkstyle, PMD plugins

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.