关于Vue3和Spring Boot的模糊记忆
前言
因为我根本没认真学这俩框架,说是入门都有点过了,所以本篇主要记录对这俩东西的最大程度记忆(大概率以后也不会学,那么此时就是记得最清楚的时候—_—),防止以后回忆时屁都不知道。
Spring Boot
首先是环境,java不需要像python那样配置虚拟环境,而是把依赖项全部写在.xml文件中,然后maven一下就好了。此时要注意maven版本、jdk版本都要匹配,同时这俩也分全局配置和项目配置。
然后怎么初始化一个springboot项目呢,当然是借助工具Spring Initializr。 它会帮我们搭好基本的文件结构.
java业务逻辑和python类似,都是面向对象,分离接口模块及实现模块,但是会有更规范的文件结构,文件结构例如以下图。
response是一个统一返回结果类。通常用于封装 API 返回给前端的 JSON 数据格式(例如:包含 code, message, data 等字段),确保所有接口的返回都长这样;
controller是接口层,负责直接与前端交互:接收 HTTP 请求(GET, POST 等),获取参数,调用 Service 层处理业务,最后将结果返回给前端;
service 是业务逻辑层,StudentService (接口): 定义了业务功能的规范(比如“添加学生”、“删除学生”),StudentServiceImpl (实现类): 真正写业务逻辑的地方;
dao(或者说repository/mapper)是数据访问层,对接数据库,student实现类与数据库中的student表一一对应。StudentRepository: 这是一个接口类,负责操作数据库(增删改查);
dto是数据传输对象,用于在不同层之间传输数据,比如,前端传来的参数可能和数据库表结构不一样,或者数据库表里有敏感字段(如密码)不能返回给前端。这时就会创建 StudentDTO 或 StudentVO 来专门用于数据传递,而不是直接暴露 Student 实体类;
总结一个完整的请求流程:Controller收到请求 -> Controller调用Service -> Service处理业务逻辑,然后调用dao -> dao去数据库查询数据,返回entity(实体) -> 可能会有个convert操作 -> Controller将dto包装进Response对象,返回给前端。

Vue3
Vue3是基于Node.js环境运行的,然后构建工具用的是Vite。至于如何初始化一个Vue3项目,问问AI应该没啥问题。
Vue基础(2026.4.20更新)
一、概述
uni-app是用Vue框架作为基础,所以我们在做uni-app项目之前,有必要学会如何基于Vue框架做开发。一个vue文件由以下三个模块组成:
template:基于HTML语法的模板代码。script:基于JavaScript的逻辑代码。style:基于CSS的样式代码。
其中script模块中,有两种实现方式,分别是vue 2.0中遗留的选项式API和vue 3.0中推荐的组合式API,这里我们使用组合式API。一个vue文件结构类似为:
1 | <template> |
二、template
vue文件中模板语法非常多,这里我们围绕变量引用、事件绑定、双向绑定、if语句、for循环来进行讲解。其他的高级用法,我们暂时先不用,或者用到了再跟大家说。
1. 变量引用
在script标签中,我们可以用JavaScript语法定义变量,而在模板中,则可以通过的形式引用script中定义的变量。比如用户名username,不同用户登录后,显示的用户名都不一样,就可以在显示用户名的地方使用变量,然后在script标签中,根据从服务器获取到的用户信息,动态赋值usenrname的值。示例代码如下:
1 | <template> |
2. 事件绑定
假设在template中有一个按钮,在点击按钮后要进行某种操作,那么就可以给这个按钮绑定一个点击事件。示例代码如下:
1 | <template> |
3. 双向绑定
变量引用仅仅是template从script中引用变量,但有些情况需要在script中引用template,比如我们在script中实时读取表单输入框中输入的内容,那么就可以使用双向绑定。双向绑定示例代码如下:
1 | <template> |
4. if语句
在vue中,可以通过v-if来根据条件渲染不同的组件。示例代码如下:
1 | <template> |
5. for循环
在vue中,可以通过v-for来渲染列表。示例代码如下:
1 | <template> |
三、script
在script中,我们围绕ref、reactive和生命周期方法进行讲解。
1. ref变量
普通类型的javascript变量可以在template中使用,但是一旦该变量发生改变,无法即时同步到模板中,为了实现这个需求,需要将变量定义成ref或reactive类型。
针对普通数据类型,比如字符串、数值、布尔类型,以及数组类型,我们通常定义成ref类型的。示例代码如下:
1 | <template> |
需要注意的是,在script中想使用ref定义的变量,必须通过.value属性来实现。
2. reactive
对象类型的变量,通常定义成reactive类型。示例代码如下:
1 | <template> |
3. 生命周期方法
vue中,可以把一个.vue文件理解为一个组件,然后浏览器界面就是一个或多个组件组合而成。在每个界面显现时,组件们都会经历创建 → 挂载到页面 → 响应数据变化 → 最终被销毁的整个过程,每个过程由钩子(生命周期函数)控制,它给了你一个“钩住”这些关键时刻的机会,让你可以插入自己的代码。
其中用得最多的就是onMounted生命周函数,代表该组件被挂载到父组件后的执行的代码。示例代码如下:
1 | <template> |
标准项目结构
my-vue-app/
├── node_modules/ # 项目依赖的第三方库
├── public/ # 静态资源文件夹
│ ├── index.html # 应用的 HTML 模板
│ └── … # 其他静态资源(如图片、字体等)
├── src/ # 项目源代码
│ ├── assets/ # 静态资源(如图片、字体等)
│ ├── components/ # 可复用的 Vue 组件
│ ├── views/ # 页面级组件
│ ├── App.vue # 根组件
│ ├── main.js # 项目入口文件
│ ├── router.js # 路由配置
│ ├── store.js # Vuex 状态管理配置
│ └── … # 其他配置和资源
├── package.json # 项目配置和依赖管理
├── package-lock.json # 依赖的精确版本锁定文件
└── README.md # 项目说明文档

