为spring boot项目的新模型生成脚手架
plaster-spring-boot的Python项目详细描述
将rails中的类似功能引入spring boot的项目 站台。目前只支持启用maven的项目。
例如:
plaster g scaffold User name:string age:integer
将创建以下文件:
- model-root/model/user.java
- repository-root/repository/userrepository.java
- 服务-service/userservice.java
- controller-controller/userscontroller.java
根在脚本启动时计算。例如,如果在 在pom.xml中使用以下项目::
<groupId>com.example</groupId>
根目录为src/main/com/example/
安装
如果你有pip 安装后,您可以安装以下石膏:
pip install plaster-spring-boot
否则,请确保安装了python的setuptools 石膏。如果在ubuntu系统上,请使用以下命令:
sudo apt-get install python-setuptools
否则,探索 setuptools查找如何 为您的系统安装。然后把石膏下载到你的机器上, 导航到下载它的目录并运行:
python setup.py install
用法
usage: plaster [-h] [-v] [-k [KEY]] [-d DIR] {generate,g,delete,d} {scaffold,model,repository,service,controller,field} model_name [fields [fields ...]] Generate files for Spring Boot positional arguments: {generate,g,delete,d} whether to generate or delete generate, g - create files delete, d - remove files {scaffold,model,repository,service,controller,field} how to generate or delete content scaffold - all files associated to the model model - the entire model repository - the entire repository service - the entire service controller - the entire controller field - individual field(s) model_name name of model for which to perform actions fields fields to perform actions listed as name:type pairs optional arguments: -h, --help show this help message and exit -v, --version fetches the current version of the tool -k [KEY], --key [KEY] indicates the following field:type pair should define the key NOTE: should be a trailing param -d DIR, --dir DIR defines a sub path in which to perform actions NOTE: should be a trailing param
定制
默认情况下,plater会自动发现必要的配置,然后 使用最佳实践来决定在何处以及如何生成文件。然而, 如果您想自定义文件的生成,plater会给出 您可以通过在根中放置plaster.yml来更改默认值 项目的一部分。支持以下配置:
属性dir
Property | Description | Type | Default |
---|---|---|---|
model | Directory in which to generate models | String | model |
repository | Directory in which to generate repositories | String | repository |
controller | Directory in which to generate controllers | String | controller |
service | Directory in which to generate services | String | service |
Lombok属性
Property | Description | Type | Default |
---|---|---|---|
enabled | Should we enable generation in lombok mode | Boolean | Is lombok a dependenc y in pom.xml ? |
Lombok支持
如果在 pom.xml。这将导入lombok并以不同的方式对模型进行注释。 例如:
//NO LOMBOK @Entity public class Example { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id; public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } }
import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @AllArgsConstructor @Builder @Data @NoArgsConstructor public class Example { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id; }
有关Lombok的信息,请访问项目的 homepage。