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 库

  • 相关阅读:
    Windows Server 2012配置开机启动项
    Windows Server 2019 SSH Server
    NOIP2017 senior A 模拟赛 7.7 T1 棋盘
    Noip 2015 senior 复赛 Day2 子串
    Noip 2015 senior复赛 题解
    Noip 2014 senior Day2 解方程(equation)
    Noip 2014 senior Day2 寻找道路(road)
    Noip 2014 senior Day2 无线网络发射器选址(wireless)
    Noip2014senior复赛 飞扬的小鸟
    Noip 2014 senior 复赛 联合权值(link)
  • 原文地址:https://www.cnblogs.com/ants/p/12607394.html
Copyright © 2011-2022 走看看