🦌SpringBoot 框架课
2024-4-2
| 2024-5-26
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
password
category
Property
May 26, 2024 08:46 AM
icon
学的时候感觉到手很累,而不是大脑很累
学开发一定要多抄代码
 

一. 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
项目框架图:
notion image
前后端分离,一套后端代码可以对应多个前端(web,APP,小程序)
notion image
  • 项目包含的模块
    • PK模块:匹配界面(微服务)、实况直播界面(WebSocket协议)
    • 对局列表模块:对局列表界面、对局录像界面
    • 排行榜模块:Bot排行榜界面
    • 用户中心模块:注册界面、登录界面、我的Bot界面、每个Bot的详情界面
  • 前后端分离模式
    • SpringBoot实现后端
    • Vue3实现Web端和AcApp端

Git

Git 用来:
  • 存档
  • 同步不同机器上的代码
可以看看 Acgit 或者 git 创建一个仓库后的提示代码
notion image

前后端

一般服务模型:
notion image
前后端不分离:发一个请求,直接将html发过来,示意图跟上面一样(这里字符串就是html)
前后端分离:
notion image
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 -p123456
  • show databases;:列出所有数据库
  • create database kob;:创建数据库
  • drop database kob;:删除数据库
  • use kob;:使用数据库kob
  • show tables;:列出当前数据库的所有表
  • create table user(id int, username varchar(100)):创建名称为user的表,表中包含id和username两个属性。
notion image
  • drop table user;:删除表
  • insert into user values(1, 'zyl');:在表中插入数据
  • select * from user;:查询表中所有数据
notion image
  • delete from user where id = 2;:删除某行数据
  • exit 退出

在IDEA中配置MySQL

notion image

配置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/:注册账号
     
    相关文章 :
  • Java
  • SpringBoot
  • Django框架课—7实现联机对战多模态总结
    Loading...
    目录