-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This Cli-tool will help you to minimize the time lost on creating the same files over and over again for each entity, when setting up a new springboot project.
its simple:
SpringBootGeneratorCli --entity <entityName> <packageIdentifier> --root=./myProject
entityName The name of the entity, so for example User. Keep in mind that this is case sensitive and it is highly recommended to use PascalCase, as this will be the entity name for all Classes and Interfaces generated.
packageIdentifier The full package identifier, for example at.company.project
root the path of the project root. In the given folder a src folder should be present, but if not it will be generated, as well as all directories needed.
All Abstraction files will be overwritten at the moment, this is subject to change. For now try to create all Entities at once in the beginning.
The created structure is as the following:
ex: SpringBootGeneratorCli --entity User at.company.proj
src
|
+ models
| + User
| | + User.java
| | + CreateUser.java
|
+ services
| + GetSingleService.java (Abstraction)
| + EntityService.java (Abstraction)
| + UserService.java
|
+ repositories
| + UserRepository.java
|
+ controllers
| + UserController.java
As well as a UserControllerTest.java in the tests directory under controllers
You can create a dockerfile + docker-compose, a build and start script as well as the basic configuration for the app.
With --docker both a dockerfile and a docker-compose with MySQL db will get set up. The --script can then create a .cmd script to build, test, package and execute the app. Both the application.properties for normal usage and testing can be created with --config and --fix-tests. Fix-tests relies on the h2 db, you will have to make sure to add that as a dependency.
Many errors emerge, when tweaking the configuration, many parameters need to be the same across many files.
- port
- Docker-Image name (imageName
- app name in compose (appName)
- db name in compose (dbName)
- db username
- db password
can be set with their
--name=valueparameter
you can combine --entity with the configuration.
running configuration multiple times to update it will overwrite all changed files, so be careful!
To install simply extract the zip or build it yourself with dotnet build to a directory of your choice and add the directory to your path, then SpringBootGeneratorCli will be available from every cmd/powershell.
SpringBootGeneratorCli [--entity <EntityName> <packageIdentifier>] [--fix-tests] [--docker] [--script] [--config]
[--root='.'] [--port=8080] [--imageName=app21] [--appName=tru_app] [--dbName=truDb] [--dbUser=usr] [--dbPassword=pwd]
--entity......Create an Entity with given Name in the given package.
The packageIdentifier has to point to the package in which the model,
repository, controller and so on is.
--fix-tests...Creates a correct application.properties file for the tests uses the 'h2' db, so make sure to have that installed.
--docker......Creates a dockerfile and a dockercompose file that contains also the db.
--script......Creates a script to build, package and run the whole project.
--config......Creates the application.properties file for normal usage.