platformio.ini 配置任选其一
1234567891011121314; Flash: 16MB QD, PSRAM: 8MB OT[env:esp32-s3-devkitc-1]platform = espressif32board = esp32-s3-devkitc-1framework = arduinomonitor_speed = 115200board_build.arduino.memory_type = qio_opiboard_build.flash_mode = qioboard_build.psram_type = opiboard_upload.flash_size = 16MBboard_upload.maximum_size = 16777216board_build.extra_flags = -DBOARD_HAS_PSRAM
12345678910111213[env:esp32s3]platform = espressif32board = esp32-s3-devkitc-1framework = arduino; 指定为16M ...
概念我的理解就是,在整个前端Vue项目中,有需要全局都使用到的对象,例如token,而状态管理就是跨文件、跨域的一个全局变量对象
Vue 使用 Pinia
引用站外地址
pinia官网
123456789import { createApp } from 'vue'import { createPinia } from 'pinia'import App from './App.vue'const pinia = createPinia()const app = createApp(App)app.use(pinia)app.mount('#app')
例子创建 store123456789101112131415161718192021222324252627 ...
简介作用是当访问不同路径的时候,显示不同的页面
使用1npm install vue-router@4
创建src/router/index.js作为路由文件
1234567891011121314151617181920//导入vue-routerimport { createRouter, createWebHistory } from "vue-router";//导入组件import LoginVue from '@/views/Login.vue'import LayoutVue from '@/views/Layout.vue'//定义路由关系const routes = [ {path:'/login',component:LoginVue}, {path:'/',component:LayoutVue}]//创建路由器const router = createRouter({ his ...
什么是跨域跨域指的是一个域(比如 example.com)下的Web应用尝试去请求另一个域(比如 api.example.org)的资源。由于浏览器的同源策略限制,直接的跨域请求通常是被禁止的,以防止潜在的安全风险。CORS(Cross-Origin Resource Sharing)是一个协议,它允许服务器通过设置特定的HTTP响应头来放宽这个限制,从而允许某些跨域请求。
假如现在的页面是 http//:localhost:5173(Vue页面),访问后端服务器 http//:localhost:8080(SpringBoot),那么就属于跨域了。
只有浏览器端才存在跨域问题。
就是说在前端页面,通过 fetch、axios、vue-resource等ajax请求方式,向后端服务器发起请求。
不通过浏览器,选择使用代理,让前端服务器访问后端服务器,就可以拿到数据。
跨域:不同域名,不同端口,不同协议
如果是 http://localhost:8080/a 和 http://localhost:8080/b,那么属于同域,不跨域。
怎么解决SpringBoot 跨域方法上添加 ...
bilibili
未读简介SpringBoot支持多环境开发,通过配置文件来控制环境,默认是dev环境,可以通过命令行参数来指定环境,如:java -jar xxx.jar --spring.profiles.active=test
分割不同环境的配置使用
1---
指定配置属于哪个环境通过键值来指定,如:spring.config.activate.on-profile=<环境配置名称>
如何指定那个环境的配置生效?123spring: profiles: active: <环境配置名称>a
例子1234567891011121314151617181920212223spring: profiles: active: dev #指定默认环境---#开发环境spring: congfig: activate: on-profile: dev---#测试环境spring: congfig: activate: on-profile: test---#生成环境 ...
Spring
未读创建一个新类添加@RestControllerAdvice注解,该注解用于定义全局异常处理类
@RestControllerAdvice //@RestControllerAdvice = @ControllerAdvice + @ResponseBody
使用@ExceptionHandler注解定义异常处理方法123456789101112131415@RestControllerAdvice //@RestControllerAdvice = @ControllerAdvice + @ResponseBodypublic class GlobalExceptionHandler { /** * 这个注解是指定处理那些异常 * @param ex * @return */ @ExceptionHandler(Exception.class) public Result ex(Exception ex){ ex.printStackTrace(); // ...
Spring
未读简介用于验证接口传入参数的框架,就是判断某个参数是否为空,是否为空字符串,是否为空集合等。
常用于判断手机号 ,身份证号码,用户名,密码等。就是一个类似掩码的东西。
Maven添加依赖1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId></dependency>
使用
在Controller类上添加@Validated注解在参数前面添加@Pattern注解,然后参数regexp属性指定正则表达式即可
123public Result register(@Pattern(regexp = "^\\S{5,16}$") String username,@Pattern(regexp = "^\\S{5,16}$") String password) ...
创建launch.json文件在.vscode文件下创建launch.json文件
在configurations里面进行配置,每一个{}对象对应一个调试任务
右下角可以快捷添加配置模板
把鼠标悬停在key上,会出现提示
完整配置Hexo的调试文件1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Launch Hexo Server", "runtimeExecutable": ...
AOP概述AOP:Aspect Oriented Programming,即面向切面编程,其实就是面向特性方法编程。
AOP应用场景
动态代理的主要作用是在运行时创建一个符合特定接口的对象,这个对象可以拦截接口方法的调用,并在调用实际方法前后添加额外的处理逻辑。
Spring AOP导入依赖:在pom.xml文件中导入依赖1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>
编写AOP程序:针对于特定方法根据业务需要进行编程使用@Component让springboot管理,使用@Aspect注解成为切面类
12345678910111213141516@Component@Aspectpublic class TimeAspect { /** * ProceedingJoinPoin ...