手机网站做的比较好的,免费网页转app软件,杭州app建设,网页设计实训报告文章目录 注意#xff01;#xff01;#xff01;1、多模块开发#xff08;后端#xff09;(1).Maven依赖(2)swagger配置 2、判题机开发#xff08;1#xff09;docker 前言#xff1a;大二刚开始接手了本学院的oj#xff0c;并管理了一段时间#xff0c;后来老师给我… 文章目录 注意1、多模块开发后端(1).Maven依赖(2)swagger配置 2、判题机开发1docker 前言大二刚开始接手了本学院的oj并管理了一段时间后来老师给我说我可以开发一个 oj 用来当做毕设。 我嗯…知道开发一个比较困难 来来回回最终下定决心开始了 oj 的开发由于我都是略懂一点这个最难受了所以做起来比较困难也没有什么人可以请教只能自己一点一点的找网上的。 在我管理的 oj 中使用 php 开发的但是但是我学的主要的是 java 因此想写一个 java 版本的。在之前学长接手的时候对于本学院 oj 项目的记录可以说是为零虽然在我接手的时候不敢说是一片空白但是也差不多 (_) 经历了一个学期基本摸清了项目的主要结构并对项目的一些 bug 进行修改比如限制同一账号同时登录多个补充了对于用户的删除彻底的后面的修改 id这个是 primary key还没有写准备带着下一届的学弟开发因为我也要转手了。 不足的还没有了解他的判题机制当时也是 十分茫然、无助。。。。 还可以的对项目主要结构写了自认为可以的解析文档对以后的开发确定的大致的方向并留下一些开发经验 继续说本项目 在此之前听了 dl 学长的建议使用 docker进行环境的部署经过好长时间的尝试还是在 win11 中进行了安装因为用了好长时间工具比较全也不想在去弄别的了。注Win11 家庭版可以安装 docker 简单使用还是可以的对我目前的需求来讲 使用主要工具 idea 2023 docker 25.0.6win版 vsCode
使用主要框架 springBoot 2.6.11 注意
在进行Maven引用或注解引用的时候一定考虑版本适配问题刚开始没注意springboot版本适配问题一直报错 1、多模块开发后端
如何使用多模块开发可以自己参考其他的
(1).Maven依赖 dependencies!-- 邮箱验证码依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-mail/artifactId/dependency!-- lvrdqmmdvfgcbdcc--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.32/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdcom.github.oshi/groupIdartifactIdoshi-core/artifactIdversion6.4.0/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion2.0.35/version/dependencydependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz/artifactIdversion2.3.2/version/dependency!--druid--dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.2.16/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.26/version/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.6/version/dependency!-- docker-java--!-- dependency--!-- groupIdcom.github.docker-java/groupId--!-- artifactIddocker-java/artifactId--!-- version3.2.13/version--!-- /dependency--!-- dependency--!-- groupIdcom.github.docker-java/groupId--!-- artifactIddocker-java-core/artifactId--!-- version3.2.13/version--!-- /dependency--!-- dependency--!-- groupIdcom.github.docker-java/groupId--!-- artifactIddocker-java-transport-httpclient5/artifactId--!-- version3.2.13/version--!-- /dependency--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-all/artifactIdversion4.1.25.Final/version/dependencydependencygroupIdcom.auth0/groupIdartifactIdjava-jwt/artifactIdversion3.10.3/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdscopetest/scope/dependencydependencygroupIdorg.dom4j/groupIdartifactIddom4j/artifactIdversion2.1.4/version/dependencydependencygroupIdorg.json/groupIdartifactIdjson/artifactIdversion20220924/version/dependency!-- 集成redis依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactIdexclusionsexclusiongroupIdredis.clients/groupIdartifactIdjedis/artifactId/exclusionexclusiongroupIdio.lettuce/groupIdartifactIdlettuce-core/artifactId/exclusion/exclusions/dependencydependencygroupIdredis.clients/groupIdartifactIdjedis/artifactId/dependency!-- weka--dependencygroupIdnz.ac.waikato.cms.weka/groupIdartifactIdweka-stable/artifactIdversion3.8.6/version/dependency!-- minio--dependencygroupIdio.minio/groupIdartifactIdminio/artifactIdversion8.2.2/version/dependencydependencygroupIdio.springfox/groupIdartifactIdspringfox-boot-starter/artifactIdversion3.0.0/version/dependency/dependencies(2)swagger配置
刚开始可以只写一个空的Swagger2Config 类注意在启动类上加上EnableSwagger2 EnableWebMvc注解
对于 swagger 的使用可以自行学习 接口文档地址http://localhost:8080/swagger-ui/index.html#/ (注意本项目的根路径为 /)
Configuration
EnableSwagger2
EnableWebMvc
public class Swagger2Config {Beanpublic Docket api() {return new Docket(DocumentationType.SWAGGER_2).enable(true).groupName(判题测试接口).tags(new Tag(judge相关接口, ee)).select().apis(RequestHandlerSelectors.any()).paths(PathSelectors.ant(/judge/**)).build();}Beanpublic Docket api01(){return new Docket(DocumentationType.SWAGGER_2).enable(true) .groupName(user管理接口).tags(new Tag(用户管理相关接口,Test01Controller)).select().apis(RequestHandlerSelectors.any()).paths(PathSelectors.ant(/user/**)).build();}// //构建 api文档的详细信息函数
// private ApiInfo apiInfo() {
// return new ApiInfoBuilder()
// //页面标题
// .title(XX平台API接口文档)
// //创建人
// .contact(new Contact(冯冬冬, http://www.javachat.cc,
// 3049352171qq.com))
// //版本号
// .version(1.0)
// //描述
// .description(系统API描述)
// .build();
// }
}
2、判题机开发
主要是使用docker镜像拉取环境每次判题的时候新建容器结束后删除容器
1docker
镜像配置
{builder: {gc: {defaultKeepStorage: 20GB,enabled: true}},experimental: false,features: {buildkit: true},registry-mirrors: [https://do.nark.eu.org,https://dc.j8.work,https://docker.m.daocloud.io,https://dockerproxy.com,https://docker.mirrors.ustc.edu.cn,https://docker.nju.edu.cn]
}