SpringBoot 框架项目之King of Bots
password
icon
AI summary
type
status
date
slug
summary
tags
category
Property
Oct 22, 2024 05:44 AM
一. Java语法Java基本概念二. 配置git环境与项目创建 项目简介 Git前后端 vue3三. 创建游戏与菜单页面四. 配置Mysql与注册登录模块配置环境变量mysql服务的关闭与启动,以及常用命令在IDEA中配置MySQL配置SpringBootSpringBoot中的常用模块修改Spring Security编写API
一. Java语法
Java基本概念
- JDK、JRE、JVM的关系:
- JDK:Java Development Kit,Java开发工具包
- JRE: Java Runtime Environment,Java运行环境
- JVM:Java Virtual Machine,Java虚拟机
- JDK包含JRE,JRE包含JVM
- JDK版本选择
- 目前JDK1.8(也叫JDK8,注意不是JDK18)用得最多
- Java代码的编译运行流程
- 将Java源码编译成Java字节码。
- 使用JVM将Java字节码转化成机器码。
- JVM作用:跨平台、内存管理、安全。
- JSE、JEE、JME的区别
- JSE: Java Standard Edition,标准版
- JEE:Java Enterprise Edition,企业版
- JME: Java Mirco Edition,移动版
- Spring是JEE的轻量级替代品
- SpringBoot是Spring + 自动化配置
二. 配置git环境与项目创建
项目简介
名称:游戏AI对战平台 King of Bots(KOB)
参考botzone.org.cn
项目框架图:
前后端分离,一套后端代码可以对应多个前端(web,APP,小程序)
- 项目包含的模块
- PK模块:匹配界面(微服务)、实况直播界面(WebSocket协议)
- 对局列表模块:对局列表界面、对局录像界面
- 排行榜模块:Bot排行榜界面
- 用户中心模块:注册界面、登录界面、我的Bot界面、每个Bot的详情界面
- 前后端分离模式
- SpringBoot实现后端
- Vue3实现Web端和AcApp端
Git
Git 用来:
- 存档
- 同步不同机器上的代码
可以看看 Acgit 或者 git 创建一个仓库后的提示代码
前后端
一般服务模型:
前后端不分离:发一个请求,直接将html发过来,示意图跟上面一样(这里字符串就是html)
前后端分离:
MVC:M对应model数据库,V对应view(html),C对应controller
vue3
先装
Nodejs
再装
@vue/cli
,执行: npm i -g @vue/cli
vue启动:
vue ui
JS的this 与 python的self Python 的self
和 JavaScript 的this
在语言层面上有一个重要的区别:Python 的self
是显式传递的,必须在方法的参数列表中声明;而 JavaScript 的this
是隐式传递的,不需要在函数的参数列表中声明。
三. 创建游戏与菜单页面
四. 配置Mysql与注册登录模块
数据库视为数组即可
配置环境变量
将
C:\Program Files\MySQL\MySQL Server 8.0\bin
(如果安装到了其他目录,填写相应目录的地址即可)添加到环境变量PATH
中,这样就可以在任意目录的终端中执行mysql
命令了。mysql服务的关闭与启动,以及常用命令
(默认开机自动启动,如果想手动操作,可以参考如下命令)
- 关闭:
net stop mysql80
- 启动:
net start mysql80
连接用户名为
root
,密码为123456
的数据库服务:mysql -uroot -p
123456
show databases;
:列出所有数据库
create database kob;
:创建数据库
drop database kob;
:删除数据库
use kob;
:使用数据库kob
show tables;
:列出当前数据库的所有表
create table user(id int, username varchar(100))
:创建名称为user的表,表中包含id和username两个属性。
drop table user;
:删除表
insert into user values(1, 'zyl');
:在表中插入数据
select * from user;
:查询表中所有数据
delete from user where id = 2;
:删除某行数据
exit
退出
在IDEA中配置MySQL
配置SpringBoot
- 在pom.xml文件中添加依赖:
- Spring Boot Starter JDBC
- Project Lombok
- MySQL Connector/J
- mybatis-plus-boot-starter
- mybatis-plus-generator
- spring-boot-starter-security
- jjwt-api
- jjwt-impl
- jjwt-jackson
- 在application.properties中添加数据库配置:
SpringBoot中的常用模块
pojo
层:将数据库中的表对应成Java
中的Class
mapper
层(也叫Dao
层):将pojo
层的class
中的操作(增删改查),映射成sql
语句
service
层:写具体的业务逻辑,组合使用mapper
中的操作
controller
层:负责请求转发,接受页面过来的参数,传给Service
处理,接到返回值,再传给页面(调度Service)
Django里的
model
对应这里的pojo
层和mapper
层,view
则对应service
层和controller
层修改Spring Security
- 实现
service.impl.UserDetailsServiceImpl
类,继承自UserDetailsService
接口,用来接入数据库信息
- 实现
config.SecurityConfig
类,用来实现用户密码的加密存储
- 实现
utils.JwtUtil
类,为jwt
工具类,用来创建、解析jwt token
- 实现
config.filter.JwtAuthenticationTokenFilter
类,用来验证jwt token
,如果验证成功,则将User
信息注入上下文中 配置config.SecurityConfig
类,放行登录、注册等接口
重写是对已有参数列表相同的同名方法重写
重载是对已有方法再多写一个同名但不同参数列表的方法
编写API
- 将数据库中的
id
域变为自增 - 在数据库中将
id
列变为自增 - 在
pojo.User
类中添加注解:@TableId(type = IdType.AUTO)
- 实现
/user/account/token/
:验证用户名密码,验证成功后返回jwt token
(令牌)
- 实现
/user/account/info/
:根据令牌返回用户信息
- 实现
/user/account/register/
:注册账号
上一篇
加锁文章 - 密码123456
下一篇
Java语言学习
Loading...