springboot和vue写个小项目

news/2024/11/17 0:00:09/

遵循“约定优于配置”的原则,只需要很少的配置或使用默认的配置。
能够使用内嵌的Tomcat、Jetty服务器,不需要部署war文件。
提供定制化的启动器Starters,简化Maveni配置,开箱即用。
纯)java配置,没有代码生成,也不需要XML配置。
提供了生产级的服务监控方案,如安全监控、应用监控、健康检测等。

 setting里配置maven

现在来看controller的用途

 啥是热部署

 

 在properties文件里配置devtools

 如果我们使用idea还需要继续设置

 

 

 新版automake这个设置在 settings advance setting 下面

关于控制器相关概念

来两个注解 

 

前后端分离一般用@RestController 

@RestController返回的数据呢,就是以文本形式交给前端,前端再对数据进行处理,后端不会涉及到前端的内容         

 

 

 

 默认就是get请求

那前端传参数进来我如何接收呢?

 

 

 

 post请求参数可以放到url后面也可以放到请求body里面

 

如果是参数特别多,比如注册的使用场景,那我们要封装一个软件工程里的实体概念,搞个user类接受的参数就是类的属性

 

 此外名称类型也要保持一致

 

静态资源设置

默认有映射 

 

 

 

前端要是传头像的话要用到文件上传

 在前端要有对应的表单,enctype改成formdata

 

 

 上传功能:将用户传来的文件存储到web服务器的本地

 

 

 

 我们可以打印出动态的路径,这个路径是idea自己分配的,打包部署之后他的路径就不会变化了,想要方便调试的话,可以把path改成固定的C盘,我们怎么存储它呢?我们自定义一个方法,然后把文件和路径传递给这个方法,在这个方法里面,我们做一个判断,创建一个JAVA的file这个对象,通过这个对象,我们把路径传给他,判断这个路径到底存不存在?如果不存在的话(第一次运行的时候upload肯定不存在,但是request.getServletContext()这个服务器运行路径是存在的,就创建这个upload目录         然后再创建一个文件,这个文件对象代表我们最终要存储的文件,把路径和文件原始名称加上拼接出完整路径,利用multipartfile对象的transferto方法把网络上传过来的文件存到上面的完整路径当中

那用户如何访问自己上传的图片呢

 

 改下静态资源的路径

但是记得把这个删掉啊不然后续访问static下的图片就不行了

这里注意把静态路径模式参数删了,否则会默认去找静态资源而不是上传的资源

拦截器

判断用户是否登录,用来拦截请求,减少冗余代码 

 前端请求先到拦截器

怎么用呢,先定义java类,然后继承handleInterceptor 

返回真就会通过然后继续下一个拦截器

拦截器要用要先注册

 

restful风格 前端后端交互时遵循的一种原则,使用此理念设计出来的接口api更加简洁

 

 

 安全性就是get就不该修改服务器数据

幂等性就是n此请求和一次结果得一样

 

 编程时如何设计成restful风格呢?

 

 

 

 

 后端会有很多个人开发,比如订单模块的接口 ,给到文档swagger动态生成给到前端

 

 

 

可以读到我们后端写的控制器还有里面的方法

可以通过注解来 

 

 

 mybatisplus解决面向对象与关系型数据库不匹配的问题,orm帮我们完成对象到数据库中记录的映射

 

连接池来申请多个连接提高连接效率

 

 我们的查询要怎么编写代码啊??

首先添加依赖,配置数据库,

编写controller文件夹里的内容如此一来我们可以用浏览器来测了

用户访问这个方法后我们要找到 mapper去操作 数据库 

1. 搞个实体entity编写实体类

2.创建mapper文件夹来放数据库相关的操作接口

(为啥是接口呢?mybatis不需要具体的实现类,只需要方法声明,所有操作由mybatis来完成)

返回的泛型user就已经设计orm了

这里的sql语句回去找propeties里面的数据库配置,查询出来会自动帮你放到list里

 

3.在启动类里把接口文件夹扫描一下

 

 

那其中具体的原理是什么呢?

我们会想着到controller里面实现接口里的方法,不能直接new接口

 

spring会自动帮我们实例化usermapper,帮我们管理usermapper的实例,内部通过动态代理的方式帮我们生成了实现类,并且继承了或者说实现了接口,然后帮我们实现数据库传递的方法

控制器里想用mapper怎么办呢?首先声明定义一个属性,然后spring有个功能就是用注解autowired注入mapper实例化出的对象

然后调用接口里的方法就行 

 

 前后端分离的项目如何转成json格式呢?

 

插入操作

 

 然后你我们用mybatitsplus改改

想用这个,有没有人能说一下答辩要是老师要你当场改写增删改查怎么搞??

 

 如果表名和实体名不一致也不要紧

在实体类上告诉它它对应的表是哪个?

还有别的注解可以设置成自增啥的 

 

多表查询这么搞??查用户的时候看用户还有那些订单?

mybatis提供了四个注解

 

 把id作为参数传给ordermapper的selectbyid使用

 条件查询

 分页查询

当数据库有成千上万条的时候,不可能一下全部搞出来,当前端点了下一页的时候再继续查询

先做一个分页拦截器

 

 


http://www.ppmy.cn/news/44093.html

相关文章

魔兽世界巫妖王架设教程-娱乐版

相信各位拿到一个优秀的魔兽端,在单机把玩一番之后,肯定都想着能不能假设一个外网服务器,然后让朋友们来到自己的服务器上玩耍,自己还能体会一下在众多凡人面前当神(GM)的乐趣。网上这方面的教程有一些&…

前端如何优雅地使用枚举

枚举(Enumeration)是一种常见的编程数据类型,它用于表示一组有限的取值。在前端开发中,枚举可以用于定义常量、选项等,有助于提高代码的可读性和可维护性。本文将介绍前端如何优雅地使用枚举。 枚举的定义与使用 在J…

大模型混战,阿里百度华为谁将成就AI时代的“新地基”?

从算力基础到用户生态,群雄逐鹿大模型 自2022年stable diffusion模型的进步推动AIGC的快速发展后,年底,ChatGPT以“破圈者”的姿态,快速“吸粉”亿万,在全球范围内掀起了一股AI浪潮,也促使了众多海外巨头竞…

Typora(Mckbook版)的使用方法

1、标题(⌘ 数字) 一级标题:(⌘ 1) 二级标题:(⌘ 2) 三级标题:(⌘ 3) 四级标题:(⌘ 4) ... 六级标…

计算机组成原理——第五章中央处理器

半生风雨半生伤,半醉半醒半心凉 文章目录前言5.1 CPU的功能和基本结构5.2 指令周期的数据流5.3.1 单总线结构5.3.2 专用通路结构前言 之前我们就说过CPU主要包括两个部分,运算器和控制器,运算器主要是实现算数运算.逻辑运算, 运算…

springboot项目中的mysql用国产数据库达梦替换的相关说明

一、 用“DM管理工具”的“管理用户”创建你需要用户,也是达梦的模式。 用户的权限问题可以直接角色授权,方便一些。 二、借用达梦的“DM数据迁移工具”做数据库的表内容转移。 1. 新建工程、新建迁移 编辑mysql的数据库源 编辑达梦的目的端数据库 选择之…

WPS关闭不了后台一直运行的解决办法(wpscloudsvr.exe)

问题描述 前几天,发现每次打开wps时机箱风扇就转得厉害,把WPS界面叉掉后,桌面的任务栏—就是桌面最下面得黑框框—显示Windows图标和时间日期的那个地方也没有WPS任务,但是机箱还是响的厉害,检查了任务管理器发现一直…

【论文阅读--WSOL】Spatial-Aware Token for Weakly Supervised Object Localization

文章目录方法实验Limitation论文:https://arxiv.org/abs/2303.10438代码:https://github.com/wpy1999/SAT/blob/main/Model/SAT.py方法 这篇文章的方法应该属于FAM这一类。 额外添加的一个spatial token,从第10-12层开始,利用其得…