1 Star 3 Fork 0

剩xia的盛夏 / zcoj

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

技术栈说明

  • 持久层:MyBatis Plus
  • 日志:Logback
  • 插件:Lombok Swagger
  • springboot
  • springsecurity
  • jwt
  • vue
  • ElementUI
  • rabbitMq
  • redis

包名说明

  • api: 存放API
  • service:存放业务类
  • dao:存放持久层类
  • core:存放核心类,如常量类,工具类,异常类,全局实体类等
  • interceptor:存放拦截器
  • filter:存放过滤器
  • config: 存放配置类,如Swagger配置类

配置说明

所有配置文件全部位于src/main/resources目录下

  • application.yml:项目全局配置文件
  • logback-spring.xml:logback配置

控制层说明

控制层基类

BaseController: 位于com.zcoj.api

编写控制层

  • 所有Controller类都应该继承BaseController,以获取全局处理
  • Controller无需手动捕获异常,异常将进行全局捕获(将根据接口类型返回错误页面或异常JSON对象)

环境分离

不建议使用Maven profile和springboot提供的spring.profiles.active来处理环境分离,这样会暴露生产环境配置信息(如数据库地址,加密密钥等)。生产环境配置应该单独编写并放在打包好的jar包同级目录下。如下:

|- 目录
 |-- zcoj.jar
 |-- application.yml

切换环境

修改application.yml下的project.env即可,取值为production和development,同时这也是logback appender的名称,环境切换后将自动采用对应的appender。如需增加环境配置,只需要添加对应的logback appender即可。


全局异常处理

通过BaseController的exceptionHandle方法捕获全局异常,当访问一个数据处理接口出错时,将自动返回异常JSON对象。


日志说明

日志采用springboot推荐的logback框架,对应src/main/resources/logback.xml配置文件。拥有两个Appender,分别是development(日志输出到控制台)和production(日志输出将产生文件并存放至log目录下)。Appender跟随项目环境自动切换。


JSON日期格式处理

当接口返回JSON时,默认日期格式为yyyy-MM-dd HH:mm:ss

项目文件结构


zcoj
 |——file #用户上传的图片数据
    |——problem #问题
    |    |——testcase #题目的测试数据
    |——data #
    |——log #日志数据
    |——avatar #头像地址
    |——

judge
 |——run #存储每个提交题目的测评过程产生后的数据
 |——testcase #题目测评数据 
 |——log 日志文件

img_1.png

img.png

MIT License Copyright (c) 2023 剩xia的盛夏 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

zcoj是一款springboot+vue开发的前后端分离的在线测评系统 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/shengxiadeshengxia/zcoj.git
git@gitee.com:shengxiadeshengxia/zcoj.git
shengxiadeshengxia
zcoj
zcoj
master

搜索帮助