java 脚手架_肝了一个半月的 Java 项目快速开发脚手架:Chewing
前言
闲来无事,整一个 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相关推荐
- 5个开源的Java项目快速开发脚手架,项目经验有了
今天推荐几个 Java 项目快速开发脚手架,解放双手 ✋ 从现在开始. 以下推荐项目都是码云上的优质项目,并且都是项目快速开发脚手架,代码质量什么的无法保证能有多好,毕竟很多也是个人开发,或多或少也有 ...
- 5个开源免费的Java项目快速开发脚手架
概览 : Guns pig RuoYi Jeecg-boot iBase4J Guns 推荐指数 :⭐⭐⭐⭐⭐ 简介 我在上大学的时候就了解和接触过了这个项目,当时我还是一个 Spring 入门不太久 ...
- 一个java web 快速开发脚手架思路
一个java web 快速开发脚手架思路 认证与鉴权 表 用户表.角色表.接口表.管理员表.用户角色关联表.角色接口关联表.接口分类表 代码生成 表 代码生成配置简单表.代码生成配置完整表 表说明 代 ...
- umi脚手架搭建的项目_还在从零开始搭建项目?手撸了款快速开发脚手架!
之前开源了一款项目骨架mall-tiny,完整继承了mall项目的整个技术栈.总感觉mall-tiny集成了太多中间件,过于复杂了.这次对其进行了简化和升级,使它成为了一款拥有完整权限管理功能的快速开 ...
- Java入门1.2.3—一个老鸟的Java学习心得
Java入门1.2.3-一个老鸟的Java学习心得 基本信息 作者: 臧萌 出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 ...
- spring boot 搭建的一个企业级快速开发脚手架
源码地址 https://github.com/javanan/slife slife spring boot 搭建的一个企业级快速开发脚手架. 技术栈 Spring Boot MySQL Freem ...
- 还在从零开始搭建项目?手撸了款快速开发脚手架!
简介 mall-tiny是一款基于SpringBoot+MyBatis-Plus的快速开发脚手架,拥有完整的权限管理功能,可对接Vue前端,开箱即用. 项目演示 mall-tiny项目可无缝对接m ...
- 35款优秀的 SpringBoot/SpringCloud 开源项目,开发脚手架,总有一款适合你...
简介 SpringBoot 是一个非常流行的 Java 框架,它可以帮助开发者快速构建应用程序.他不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整 ...
- html5快速开发模板生成器,推荐一个基于Vue 的 H5 快速开发模板
本项目以基于 vue-cli4 和 Vant-ui 搭建的,进行移动端开发中的一些最佳实践方案 模板地址 动动你的小手点颗star 样式适配 在移动端网页开发时,样式适配始终是一个绕不开的问题.对此目 ...
最新文章
- 真给力!蚂蚁金服工程师总结的400道前端面试题提供下载
- IOS线程学习(一)
- ERROR: Unrecognized command line argument: #39;use#39;
- 动态规划——物品无限的背包问题
- 实战:自定义简易版SpringBoot
- Ray.Xu 写得 RTEMS 介绍(最新版本,全面,覆盖了CVS Head)
- 洛谷1551 亲戚
- history模式 nginx配置_Vue history模式Nginx配置
- 陈赫入场,抖音背后的决心!
- 说说我们怎么数据驱动企业
- Cry with DX11
- PE启动盘制作,电脑PE工具制作教程(可能是最详细的制作方法)小白推荐
- Mac屏幕分辨率如何更改?
- 基于python的第三方库Pyautogui实现程序自动控制鼠标与键盘
- 华为nova5iotg功能使用_华为nova5ipro支持otg功能吗
- 信号处理学习笔记(一)截止频率Cutoff Frequency
- 一个学计算机的打字速度慢,电脑打字速度慢怎么办
- Storj:区块链在云存储上的应用
- c++运算符优先级归纳
- golang pederson commitment 实现,基于椭圆曲线
热门文章
- SAP Spartacus list.component.ts的listData$数据的触发逻辑
- SAP Spartacus page-slot.component.html
- 如何通过调试的方式搞清楚Angular createEmbeddedView具体创建的UI元素是什么
- SAP Hybris使用recipe进行安装时,是如何执行ant命令的?
- gateway response annotation comes first, then project folder one
- C4C HTML mashup debug
- use SAP web IDE to commit change to git
- WebIDE push files to ABAP repository
- R3 data related to category and hierarchy mapping logic in CRM
- Eclipse Debugger Error - Web Launch Already running的处理方法