项目开发
README
在选定并下载了 ContiNew Admin 脚手架项目之后,如何基于它继续开发自己的项目呢?下方将以开发 [岗位管理] 为例,展示基于 ContiNew Admin 开发一个基础 CRUD 功能需求的流程。
版本确认
在开始项目开发工作之前,请确认好你所下载的 ContiNew Admin 项目版本是稳定版而非开发版(dev 分支)。 开发版存在不稳定的功能特性,也未经过维护团队集中测试,不建议作为生产项目开发模板。
请选择 下载最新的稳定版源码 或 最新的稳定版分支(最新版本对应的 x.x.x 分支) 来进行生产项目开发。
友情提示
演示环境是基于 dev 分支自动构建的,你在演示环境看到的有些功能可能是预览功能,稳定版还没上线。当然了,如果你能跟上我们的更新节奏,持续跟进更新,那你用 dev 也不是不行。
总之,dev 分支在新版本开发初期和开发末期一般也还算稳定,但新版本开发中期就很难说了,你自己衡量。
准备工作
在使用脚手架类项目时,必然要花点时间在个性化配置上,即使项目契合度很高,那项目的名称、Logo 等品牌元素也必然是要进行配置的。
下面将针对项目名称、Logo 等品牌元素的信息修改,简单进行一下介绍。
后端
修改项目模块、包名
项目模块信息和项目包名的修改较为简单,通过 IDE 进行重命名操作即可,此处不进行详细赘述,只需要注意同步更新 continew-webapi/pom.xml
中 <properties>
的 <main-class>
打包配置。
修改 Banner
打开 continew-webapi/src/main/resources/banner.txt
,修改其中的 Banner 信息,可 点击链接 进行个性生成。
____ _ _ _ _ _ _ _
/ ___| ___ _ __ | |_ (_)| \ | | ___ __ __ / \ __| | _ __ ___ (_) _ __
| | / _ \ | '_ \ | __|| || \| | / _ \\ \ /\ / /_____ / _ \ / _` || '_ ` _ \ | || '_ \
| |___| (_) || | | || |_ | || |\ || __/ \ V V /|_____|/ ___ \| (_| || | | | | || || | | |
\____|\___/ |_| |_| \__||_||_| \_| \___| \_/\_/ /_/ \_\\__,_||_| |_| |_||_||_| |_|
修改日志配置
在 continew-webapi/src/main/resources/logback-spring.xml
中,根据你的需求进行修改。
一般重点要修改的就是环境配置,如果你重命名或增加了其他环境,则需要修改 <springProfile>
标签中的 name
属性。
<!-- 开发环境:只打印到控制台 -->
<springProfile name="dev">
<!-- 如果配置的日志等级,和 application.yml 中的日志等级配置重叠,application.yml 配置优先级高 -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>
<!-- 生产环境:打印到控制台并输出到文件 -->
<springProfile name="prod">
<root level="INFO">
<appender-ref ref="CONSOLE_PROD"/>
<appender-ref ref="ASYNC_FILE"/>
</root>
<!-- 日志保留天数(根据国家法律,网络运行状态、网络安全事件、个人敏感信息操作等相关记录,留存的日志不少于六个月,并且进行网络多机备份。) -->
<property name="FILE_MAX_HISTORY" value="180"/>
</springProfile>
修改项目信息
打开 continew-webapi/src/main/resources/config/application.yml
,修改其中的 [项目配置]。其他环境配置文件(e.g. application-prod.yml)中的项目配置信息也需进行修改。
README
如果项目未开源,则可直接删除 [许可协议信息配置]。
另外,为了便于新用户修改项目品牌元素,项目各处所使用的品牌信息已经尽可能的进行了集中整理,简单来说,你修改了下方的 [项目配置] 则已经修改了 90% 的品牌元素。
- 在项目代码中,通过注入
top.continew.starter.core.autoconfigure.project.ProjectProperties
来获取项目配置信息。 - 在其他 Spring Boot 配置部分,通过
${}
来复用项目配置信息。e.g. 尝试在 IDE 中全局搜索一下${project.base-package}
。
--- ### 项目配置
project:
# 名称
name: ContiNew Admin
# 应用名称
app-name: continew-admin
# 版本
version: 3.4.1
# 描述
description: 持续迭代优化的前后端分离中后台管理系统框架,开箱即用,持续提供舒适的开发体验。
# 基本包
base-package: top.continew.admin
## 作者信息配置
contact:
name: Charles7c
email: charles7c@126.com
url: https://blog.charles7c.top/about/me
## 许可协议信息配置
license:
name: Apache-2.0
url: https://github.com/continew-org/continew-admin/blob/dev/LICENSE
前端
修改 package.json
打开 continew-admin-ui/package.json
,修改其中的【项目配置】。
修改 settings.json
打开 continew-admin-ui/src/config/settings.json
,修改其中的【页面布局及高级配置】。
修改品牌元素
在启动前、后端项目之后(你没看错),打开 【系统管理】 -> 【系统配置】 页面,修改品牌元素:名称、Logo、版权声明等信息。
温馨提示
这些信息均存储于 sys_option
(参数表)中,也可根据需要自行前往数据表修改。注意非页面操作修改配置,则需要自行清理相关 Redis 缓存。
新建模块
准备工作完成之后,接下来开始 [岗位管理] 功能需求开发。此处,将 [岗位管理] 功能划分到 [test] 模块,以方便演示新模块的创建及使用。
右键单击项目名称,依次选择【新建】 -> 【新模块】,在弹出的【新建模块】窗口,依次输入项目信息。
新增完模块之后,首先需要在 continew-admin/pom.xml
中进行版本锁定,这样内部模块之间就不用再标明版本号了。
然后在 continew-webapi/pom.xml
中引入新增的模块( continew-webapi
是最终打包模块)。
在正式使用 continew-test
模块前,还需要在 continew-test/pom.xml
中引入公共模块。
<dependencies>
<!-- 公共模块(存放公共工具类,公共配置等) -->
<dependency>
<groupId>top.continew</groupId>
<artifactId>continew-common</artifactId>
</dependency>
</dependencies>
新建数据表
根据需求设计岗位管理数据表,并在对应数据库创建好该表。
CREATE TABLE IF NOT EXISTS `sys_post` (
`id` bigint(20) AUTO_INCREMENT COMMENT 'ID',
`name` varchar(30) NOT NULL COMMENT '岗位名称',
`description` varchar(200) DEFAULT NULL COMMENT '描述',
`sort` int NOT NULL DEFAULT 999 COMMENT '岗位排序',
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
`is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
`create_user` bigint(20) NOT NULL COMMENT '创建人',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE INDEX `uk_name`(`name`),
INDEX `idx_create_user`(`create_user`),
INDEX `idx_update_user`(`update_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='岗位表';
生成配置
创建好数据表后,分别启动前、后端项目,打开【系统工具】-> 【代码生成】页面,查看是否有 sys_post
岗位表记录。
点击 sys_post
岗位表记录的【配置】按钮,在弹出的配置对话框中,依次配置生成配置、字段配置,全都设置好后,点击【确定】按钮,关闭对话框。
代码生成
点击 sys_post
岗位表记录的【生成】按钮,在弹出的预览对话框中你可以查看、复制生成的代码,也可以直接点击【下载】,将生成的代码下载到本地。
生成完的前、后端代码,根据你个人需要分别放到前、后端项目中,然后分别重新启动前、后端项目。
温馨提示
本项目的代码生成并没有那么完美,本人由于精力及个人实际使用需求,对代码生成的要求仅仅是能生成主体框架结构即可。
在我看来,代码生成只是一个提高效率的工具,但开发代码生成工具,尤其是越完善所投入的时间和回报越不成正比。所以,至少目前它生成的 前端代码 需要你参考其他模块进行调整。
如果你的使用场景遇到了一点小问题,可以对代码生成模板进行优化完善,也非常欢迎你提交相应的 PR。
添加路由
最后,我们还需要为【岗位管理】添加菜单路由,这样我们才能访问岗位管理功能。打开【系统管理】 -> 【菜单管理】页面,根据需要添加相应岗位管理的目录、菜单、按钮等信息。
刷新下网页,就可以看到新增的菜单项了。
这样岗位管理就初步开发好了,剩下的就是根据你的需要进行完善调整了。
温馨提示
真实开发时,一定记得多参考已有模块代码的各组件使用方式、代码规范、风格,等你玩明白了,再做更大的调整,形成独属于你们团队的规范。