zoukankan      html  css  js  c++  java
  • 项目脚手架

    前言

    最近启动了一个新的项目发现,每当一个新项目的启动往往需要从头搭建一个“框架”,其中虽然很多基础代码可以Copy,但也会浪费不少时间。
    基于这个情况,我打算在GitHub上创建了一个公开库scaffold用来存放平时常用的脚手架项目。
    脚手架仓库地址:https://github.com/majian159/scaffold

    规划

    实现的脚手架有:

    • Java
      • Spring Boot + MyBatis

    规划的脚手架有:

    • Java
      • Spring Boot + JPA
      • Spring Boot + MyBatis
    • Web
      • Ant design Pro
      • antd

    springboot-mybatis-scaffold

    第一波因为项目需求先传了 基于 sb + mybatis 的脚手架,其实我个人更喜欢 sb + jpa + ddd 的脚手架,后续在整理出来。

    介绍

    这是一个基于 SpringBoot + MyBatis + MyBatis Generator 的脚手架项目。
    脚手架默认实现了一个 department RESTful API,用来演示。

    脚手架集成内容

    • Spring Boot
    • Spring Security
    • MyBatis
    • MyBatis Generator
    • PageHelper
    • Swagger-UI

    目录结构

    scaffold
    ├── scaffold-api    # REST API 模块
    ├── scaffold-common # 公共代码模块
    └── scaffold-mbg    # MyBatis Generator 及生成的内容
    

    环境

    • JDK8
    • Lombok

    脚手架配置

    项目、程序包名称

    使用 IDE 等工具进行批量全局替换。

    Spring

    • 开启 @Async 线程池使用 ForkJoinPool.commonPool()
    • @EnableScheduling
    • @EnableSwagger2
    • datasource
      • MySQL
      • hikari
        • 最小空闲连接 5
        • 连接超时 15秒
        • 最大连接池大小 20
    • jackson
      • 不包含 null 值的属性

    MyBatis

    • Mapper扫描路径
      • 当前项目下的 dao/*.xml (项目中自定义的Mapper xml)
      • 全局 mapper/*.xml (用于mbg生成的Mapper xml)

    MBG

    这边只是简化了 generatorConfig.xml 的配置,如有个性化需求可直接修改 generatorConfig.xml

    scaffold-mbg/src/main/resources/generator.properties

    配置键 说明 默认值
    jdbc.driverClass JDBC驱动类 com.mysql.cj.jdbc.Driver
    jdbc.connectionURL JDBC URL jdbc:mysql://localhost/scaffold?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
    jdbc.userId 数据库用户名 root
    jdbc.password 数据库密码 root
    common.basePackage 基础的包名 com.scaffold.springboot.mybatis.mbg
    common.basePath 基础的路径 scaffold-mbg

    Application

    scaffold-api/src/main/resources/application.yml

    配置键 说明 默认值
    application.basePackage 基础 package,用来简化项目改名后带来的负担 com.scaffold.springboot.mybatis

    RestControllerAdvice

    当 Controller 抛出 ServiceException, ApiException 异常时会经由 Advice 自动包装成 ApiErrorViewModel, 并返回对应的 HttpStatusCode.

    写在最后

    这是一个高个人意愿的脚手架仓库,大家可以不用完全使用,只是参考部分内容,希望对大家有所帮助
    脚手架仓库地址:https://github.com/majian159/scaffold
    "阅读原文" 可直达 GitHub 库

  • 相关阅读:
    文件上传按钮样式定制
    消除2个按钮之间1px细节引起的冲突
    css 实用代码汇总
    除掉inline-block 间距
    SQL Server 创建索引的 5 种方法
    百度API从经纬度坐标到地址的转换服务
    百度地图API简单应用——1.根据地址查询经纬度
    极光API推送 (v3 版本)
    简单快捷地测试 JPush API
    使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】C#语言
  • 原文地址:https://www.cnblogs.com/ants/p/12607394.html
Copyright © 2011-2022 走看看