前言

闲来无事,整一个 Java 项目快速开发脚手架。

正文 一、简介

Chewing 是一个简单的 Java 项目快速开发脚手架。既适合需要开发小型项目的小伙伴使用,也适合刚入门的新手用来学习一些常用的技术。

二、源码

源码地址:https://github.com/jingqueyimu/chewing。

三、核心技术 1、后端SpringBoot:Web 应用框架。

MyBatis:持久层框架。

MySQL:关系型数据库。

Redis:缓存数据库。

RabbitMQ:消息队列中间件。2、前端Thymeleaf:模板引擎。

Bootstrap:UI 框架。四、环境部署 1、准备工作JDK 1.8

MySQL 5.7

Maven 3.x

Redis

RabbitMQ2、必要配置application.properties 配置文件:数据库、Redis、RabbitMQ、邮箱等配置。

config/myconfig.properties 配置文件:系统相关的自定义配置。五、项目介绍 1、文件结构src/main/java |— com.jingqueyimu |— annotation // 注解 |— aspect // 切面 |— config // 配置 |— constant // 常量 |— context // 上下文 |— controller // 控制层 |— exception // 异常 |— factory // 工厂 |— filter // 过滤器 |— handler // 处理器 |— init // 初始化 |— interceptor // 拦截器 |— mapper // 持久层 |— model // 数据模型 |— mq // 消息队列 |— schedule // 调度 |— service // 服务层 |— util // 工具 MyAppcation.java // 应用启动类src/main/resources |— config // 配置文件 |— mapper // 映射文件 |— static // 静态文件 |— templates // 页面文件 application.properties // 应用配置文件 quartz.properties // 调度配置文件2、代码说明 (1)路由/api/xxx:需要用户登录。

/console/xxx:需要管理员登录,登录、登出等部分接口除外。(2)接口规范页面请求:GET、URL 参数。

接口请求:POST、JSON 参数。(3)数据库初始化初始化配置文件:config/dbinit.json。

配置初始化标识及 SQL 语句。

初始化示例:

[ { "initKey": "site_config_20210110", "sqls": [ "INSERT INTO t_site_config (id, code, name, content, description, public_flag, gmt_create) VALUES(NULL, 'site_record_no', '网站备案号', '备案号', '网站备案号', true, NOW());" ] }](4)文件上传下载上传单个文件:/file/upload。

上传多个文件:/file/uploads。

下载文件:/file/download。(5)Excel 导入导出Excel 导入导出方法:ExcelUtil.importExcel()、ExcelUtil.exportExcel()。

Excel 导入导出处理器接口:IExcelImportHandler、IExcelExportHandler。

导入示例:

String msg = null;try { String[] keys = new String[] {"username", "realName", "mobile"}; msg = ExcelUtil.importExcel(file.getInputStream(), keys, new IExcelImportHandler() { @Override public void handle(JSONObject data) { if (StringUtils.isBlank(data.getString("username"))) { throw new RuntimeException("用户名不能为空"); } if (StringUtils.isBlank(data.getString("mobile"))) { throw new RuntimeException("手机号不能为空"); } // 业务处理 } }); log.info(msg);} catch (IOException e) { e.printStackTrace();}

导出示例:

ServletOutputStream os = null;try { String fileName = "用户列表"; ... // 用户列表数据 List list = userService.list(params); // 表头 String[] headers = new String[] {"编号 ", "用户名", "姓名", "手机号", "邮箱", "注册方式", "注册时间", "上次登录时间", "是否VIP"}; os = response.getOutputStream(); // 导出 ExcelUtil.exportExcel(fileName, list, headers, os, new IExcelExportHandler() { @Override public List

java 脚手架_肝了一个半月的 Java 项目快速开发脚手架:Chewing相关推荐

  1. 5个开源的Java项目快速开发脚手架,项目经验有了

    今天推荐几个 Java 项目快速开发脚手架,解放双手 ✋ 从现在开始. 以下推荐项目都是码云上的优质项目,并且都是项目快速开发脚手架,代码质量什么的无法保证能有多好,毕竟很多也是个人开发,或多或少也有 ...

  2. 5个开源免费的Java项目快速开发脚手架

    概览 : Guns pig RuoYi Jeecg-boot iBase4J Guns 推荐指数 :⭐⭐⭐⭐⭐ 简介 我在上大学的时候就了解和接触过了这个项目,当时我还是一个 Spring 入门不太久 ...

  3. 一个java web 快速开发脚手架思路

    一个java web 快速开发脚手架思路 认证与鉴权 表 用户表.角色表.接口表.管理员表.用户角色关联表.角色接口关联表.接口分类表 代码生成 表 代码生成配置简单表.代码生成配置完整表 表说明 代 ...

  4. umi脚手架搭建的项目_还在从零开始搭建项目?手撸了款快速开发脚手架!

    之前开源了一款项目骨架mall-tiny,完整继承了mall项目的整个技术栈.总感觉mall-tiny集成了太多中间件,过于复杂了.这次对其进行了简化和升级,使它成为了一款拥有完整权限管理功能的快速开 ...

  5. Java入门1.2.3—一个老鸟的Java学习心得

    Java入门1.2.3-一个老鸟的Java学习心得 基本信息 作者: 臧萌    出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 ...

  6. spring boot 搭建的一个企业级快速开发脚手架

    源码地址 https://github.com/javanan/slife slife spring boot 搭建的一个企业级快速开发脚手架. 技术栈 Spring Boot MySQL Freem ...

  7. 还在从零开始搭建项目?手撸了款快速开发脚手架!

    简介 mall-tiny是一款基于SpringBoot+MyBatis-Plus的快速开发脚手架,拥有完整的权限管理功能,可对接Vue前端,开箱即用.   项目演示 mall-tiny项目可无缝对接m ...

  8. 35款优秀的 SpringBoot/SpringCloud 开源项目,开发脚手架,总有一款适合你...

    简介 SpringBoot 是一个非常流行的 Java 框架,它可以帮助开发者快速构建应用程序.他不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整 ...

  9. html5快速开发模板生成器,推荐一个基于Vue 的 H5 快速开发模板

    本项目以基于 vue-cli4 和 Vant-ui 搭建的,进行移动端开发中的一些最佳实践方案 模板地址 动动你的小手点颗star 样式适配 在移动端网页开发时,样式适配始终是一个绕不开的问题.对此目 ...

最新文章

  1. 真给力!蚂蚁金服工程师总结的400道前端面试题提供下载
  2. IOS线程学习(一)
  3. ERROR: Unrecognized command line argument: #39;use#39;
  4. 动态规划——物品无限的背包问题
  5. 实战:自定义简易版SpringBoot
  6. Ray.Xu 写得 RTEMS 介绍(最新版本,全面,覆盖了CVS Head)
  7. 洛谷1551 亲戚
  8. history模式 nginx配置_Vue history模式Nginx配置
  9. 陈赫入场,抖音背后的决心!
  10. 说说我们怎么数据驱动企业
  11. Cry with DX11
  12. PE启动盘制作,电脑PE工具制作教程(可能是最详细的制作方法)小白推荐
  13. Mac屏幕分辨率如何更改?
  14. 基于python的第三方库Pyautogui实现程序自动控制鼠标与键盘
  15. 华为nova5iotg功能使用_华为nova5ipro支持otg功能吗
  16. 信号处理学习笔记(一)截止频率Cutoff Frequency
  17. 一个学计算机的打字速度慢,电脑打字速度慢怎么办
  18. Storj:区块链在云存储上的应用
  19. c++运算符优先级归纳
  20. golang pederson commitment 实现,基于椭圆曲线

热门文章

  1. SAP Spartacus list.component.ts的listData$数据的触发逻辑
  2. SAP Spartacus page-slot.component.html
  3. 如何通过调试的方式搞清楚Angular createEmbeddedView具体创建的UI元素是什么
  4. SAP Hybris使用recipe进行安装时,是如何执行ant命令的?
  5. gateway response annotation comes first, then project folder one
  6. C4C HTML mashup debug
  7. use SAP web IDE to commit change to git
  8. WebIDE push files to ABAP repository
  9. R3 data related to category and hierarchy mapping logic in CRM
  10. Eclipse Debugger Error - Web Launch Already running的处理方法