2023/10/8总结

news2024/12/25 9:01:37

安装Sass

pnpm i sass -D

电商 网站 的首页 通常会比较长 用户 不一定能访问到 页面靠下面的图片  ,这类图片可以通过 懒加载 优化手段可以做到 只有 进入视口区域才发送图片请求  

指令写法:

<img v-img-lazy="item.picture"/>

路由缓存问题

使用带有参数的路由需要注意的是  相同的组件实例 将被 重复 使用 ,因为俩个路由都渲染俩个组件 复用 显得 更加高效  但是这也意味着 组件的 生命周期 钩子不会被调用

方案一 

以 当前路由 完整路径 为 key 的值 给 router-view 组件绑定

key 最常见 的 用例 是与 v-for 结合  但是也可以用于 替换 一个元素 / 组件 而不是复用 它  当你 想这样做时 它很可能会很有用 

在适当 的 时候 触发 组件的生命周期钩子

触发过渡

方案二

使用 beforeRouteUpdate 导航钩子

beforeRouteUpdate 钩子函数可以在每次路由更新 之前 执行  在回调 中执行 需要数据 更新的业务逻辑 即可

或者使用 beforeRouterUpdate 导航 守卫 它也可以 取消导航

定制路由行

在不同 路由 切换 的时候  可以自动 滚动 到 页面的顶部  而不是 停留在 原先的位置

vue-router  支持 scrollBehavior 配置项  可以指定 路由 切换 时 的滚动位置

scrollBehavior(){

        return {top:0}

}

spring

Spring Framework 是Spring 生态圈中最基础的项目,是其他项目的根基

  • IoC  控制反转  对象的创建 控制权 由程序 转移到外部 ,这种思想称为 控制反转  IoC 主要 为了 解耦合
  • 耦合是指两个或两个以上对象存在依赖,当一方修改之后会影响另一方,那么就说这些对象间存在耦合。

Spring 技术 对 IoC 思想进行了 实现

Spring 提供了一个容器  称为 IoC 容器 用来充当 IoC 思想 中的 外部

DI 依赖注入

在容器中建立 bean 和 bean 之间 的 依赖 关系 的整个过程  称为 依赖注入

bean基础配置

bean 的 别名

name属性 可以指定多个别名  用空格隔开  id 有的功能 name 属性带的也能做

bean 的 作用域范围

scope  

在bean 的作用范围 可选范围如下:

  • singleton  单例 (默认)指创建的对象还是原来那一个
  • prototype  非单例  指 创建 新的对象

bean实例化

依赖注入方式

setter 注入 

  • 简单类型
  • 引用类型

案列:

Beans.xml 文件

执行:

在bean中 定义引用类型 属性 并 提供 可 访问的set方法

配置中 使用 property 标签 ref 属性 注入引用类型对象

构造器注入

  • 简单类型
  • 引用类型

ApplicationContext 

称为 Spring 容器 内部封装了 BeanFactory  比 BeanFactory 功能 更 强大 使用 ApplicationContenxt 进行开发时  xml 配置文件 的 名称 习惯写成 applicationContext.xml

Bean 的延迟加载

当 lazy-init 设置为 true 时 为延迟加载  也就是当 Spring 容器 创建的时候 不会立即创建Bean 实列 等待 用到时 再创建Bean 实例 并存储到 单例池 中去 后续在使用 该 Bean 直接从 单例池 获取即可  本质上 该 Bean 还是单例的

Bean 的 初始化 和 销毁方法配置

Bean 在 被实例化 后 可以执行指定的初始化方法完成 一些初始化 的 操作 Bean 在销毁 之前 也可以执行 指定 的 销毁方法来完成一些操作 

  • 初始化方法名称   init-method
  •  销毁方法名称   destroy-method

SpringBean 的配置详解

Bean 的 实例化 配置

构造方法实例化 Bean 又分为 无参构造方法实例化 和 有参构造方法实例化

SpringBoot 

是由 Pivotal 团队 提供的 全新框架  其设计目的是用来简化 Spring 应用 的初始搭建 以及 开发过程

starter

Springboot 中常见的项目名称  定义 了 当前项目使用的所有依赖坐标  以达到减少 依赖配置 的目的

parent

所有 SpringBoot 项目中要继承的项目  定义了 若干个 坐标版本号 (依赖管理,而非依赖) 以达到 减少依赖冲突 的 目的 

spring-boot-starter-parent  各版本间存在诸多坐标版本不同

REST开发

REST简介

表现形式状态转换

优点

  • 隐藏资源的访问行为  无法通过地址得知对资源是何种操作
  • 书写简化

按照REST风格 访问资源时 使用 行为动作 区分对资源进行了何种操作

常见的:get  post put delete

postman 测试成功:

@RequestBody 

用于接收 json 数据

@RequestParam

用于接收 url 地址传参 或者 表单 传参

@PathVariable

用于接收 路径 参数 使用 {参数名称} 描述路径参数

后期开发中 发送请求参数超过 1 个时  以 json 格式为主  @RequestBody 应用较广

如果发送非 json 格式数据 选用 @RequestParam 接收请求参数

采用 RESTful 进行开发  当参数数量较少时  例如 1 个 可以采用 @PathVariable 接收请求路径变量  通常用于传递 id 值

基础配置

  • 修改服务器端口

serve.port=80

  • 关闭运行日志图标

spring.main.banner-mode=off

  • 设置日志相关

logging.level.root=debug

Springboot 提供了3种 配置文件的格式

  • properties  传统格式/默认格式
  • yml 主流格式
  • yaml 

整合第三方技术

  • Mybatis
  1. 勾选Mybatis 技术 也就是导入 Mybatis 对应的 starter
  2. 数据库连接 相关信息转换成配置
  3. 数据库SQL映射需要添加@Mapper被容器识别到

在使用 Springbooot 整合 MybatisPlus 时 我遇到了一个问题

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.example.dao.UserDao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1824)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1383)

后面找了查找了很多资料 发现是 MybatisPlus 3 和 SpringBoot 3 以上版本并没有整合 的 很好

降低了SpringBoot的版本为 2.多才运行成功

Lombok 

一个java类库  提供了一组注解  简化 POJO 实体类 开发

依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

常用注解:

@Data

写了这个注解之后  那么 setter 和 getter 方法都不用写了,包括 toStirng 和 hashCode

控制台就会有对应内容

 mybatisPlus 会有一个分页的功能

它的语句是 selectPage

但是写完这些并没有很大的用处

需要写一个MybatisPlus的拦截器  而且是分页拦截器

这样就能运行成功了

在 MybatisPlus 里面 通过 selectPage 后 的 返回的page 变量还有许多用处

前后端 协议 联调

前后端分离结构设计中页面归属 前端 服务器

单体工程中页面 放置 在 resources 目录下 的 static 目录中 (建议执行clean)

刷题记录:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1072364.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推荐几个技术学习的网站

USB中文网 点击打开 USB中文网 - USB技术开发交流USB中文网是国内领先的专业USB技术网站&#xff0c;提供USB开发入门教程&#xff0c;USB设备开发&#xff0c;USB驱动开发&#xff0c;USB摄像头&#xff0c;USB麦克风&#xff0c;USB存储设备&#xff0c;USB-HID设备&#x…

AI驱动的3D模型无缝纹理生成

创建无缝纹理一直是一个需要艺术技巧的劳动密集型过程。 然而&#xff0c;随着稳定扩散模型&#xff08;Stable Diffusion&#xff09;的出现&#xff0c;情况发生了变化。 通过将文本转换为逼真、无边界的图像&#xff0c;稳定扩散彻底改变了纹理创建&#xff0c;使其变得易于…

计算机体系结构中的8个伟大思想

一、面向摩尔定律的设计 计算机设计者面临的一个永恒的问题就是摩尔定律。摩尔定律指出&#xff1a;集成电路上可容纳的晶体管数每18~24个月就会翻一番。由于计算机设计通常需要几年时间&#xff0c;因此项目结束时芯片的集成度较之项目开始时&#xff0c;很容易翻一番甚至翻两…

数据结构与算法设计分析——分治法

目录 一、分治法的定义二、分治法的基本步骤三、分治法的应用&#xff08;一&#xff09;查找算法二分&#xff08;折半&#xff09;查找 &#xff08;二&#xff09;排序算法1、交换排序——快速排序2、归并排序 一、分治法的定义 分而治之可称为分治法&#xff0c;即逐个击破…

Qt开发学习笔记02

将窗口设为提示框 Qt::ToolTipQt 数据库连接池 #ifndef SQLITE_H #define SQLITE_H#include <QSqlDatabase> #include <QSqlError> #include <QSqlQuery> #include <QQueue> #include <QMutex> #include <QDebug> #include "../con…

安装spark并配置高可用

0、说明 上一篇文章讲了如何安装hadoop&#xff0c;这里将spark的详细安装步骤记录在这里。 其中实现了spark的高可用配置&#xff0c;即将zookeeper配置到spark集群中。对于资源管理也配置了yarn模。并开启了spark-sql的配置&#xff0c;可以通过jdbc链接spark。 spark 集群…

Three.js真实相机畸变效果模拟

有没有想过如何在 3D Web 应用程序中模拟物理相机&#xff1f; 在这篇博文中&#xff0c;我将向你展示如何使用 Three.js和 OpenCV 来完成此操作。 我们将从模拟针孔相机模型开始&#xff0c;然后添加真实的镜头畸变。 具体来说&#xff0c;我们将仔细研究 OpenCV 的两个失真模…

【C++】Stack Queue -- 详解

一、stack的介绍和使用 1、stack的介绍 https://cplusplus.com/reference/stack/stack/?kwstack 1. stack 是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。 2. stack 是作为容器适配器被…

改变世界-生成式人工智能

麦肯锡在其《生成人工智能的经济潜力&#xff1a;下一个生产力前沿》中声称&#xff0c;“ChatGPT、GitHub Copilot、Stable Diffusion 等生成式人工智能应用程序以 AlphaGo 没有的方式吸引了世界各地人们的想象力&#xff0c;这要归功于它们广泛的实用性——几乎任何人都可以使…

[mysql工具]Windows批处理方式实现MySQL定期自动备份

Windows批处理方式实现MySQL定期自动备份 对MySQL数据库而言&#xff0c;大部分数据库工具都具有备份功能&#xff0c;但并不能做到定期自动备份&#xff0c;在Windows环境下&#xff0c;手工备份MySQL是很繁琐的&#xff0c;所以我们通过MySQL提供的备份命令mysqldump&#xf…

如何防止重复提交订单

产生的原因 一种是由于用户在短时间内多次点击下单按钮&#xff0c;或浏览器刷新按钮导致。另一种则是由于Nginx或类似于SpringCloud Gateway的网关层&#xff0c;进行超时重试造成的。由于网速等原因造成页面卡顿&#xff0c;用户重复刷新提交页面黑客或恶意用户使用 postman…

maven配置代理

1.找到文件 find / -name "settings.xml" 当 maven 无法正常访问网络时候&#xff0c;需要通过代理进行访问 找到Maven的setting.conf文件 2.找到proxies 在maven的 setting.conf文件中找到 默认找到的时候文件 这里是被注释的。 3.配置如下 3.1配置截图 <…

QML 带框最大化显示方法

1.QML窗口最大化很多会给出如下方法: visibility: "FullScreen" 此方法不好的方面是没有最大化&#xff0c;最小化&#xff0c;关闭按钮 2.通过showMaximized() 方法可以满足我们需求:在onCompleted 方法中执行 实现的效果如下:

前后端分离计算机毕设项目之基于SpringBoot的无人智慧超市管理系统的设计与实现《内含源码+文档+部署教程》

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…

浏览器自动化神器:Automa 轻松实现任务编排 | 开源日报 No.52

usememos/memos Stars: 13.8k License: MIT memos&#xff0c;一个轻量级的、自托管的备忘录中心。开源且永久免费。 开源且永久免费使用 Docker 可以在几秒钟内完成自我托管支持 Markdown 格式可定制和共享提供 RESTful API 用于自助服务 mamoe/mirai Stars: 12.6k Licen…

2023.10.7 Java 创建线程的七种方法

目录 继承 Tread 类&#xff0c;重写 run 方法 实现 Runnable 接口 使用匿名内部类&#xff0c;继承 Thread 类 使用匿名内部类&#xff0c;实现 Runable 接口 使用 Lambda 表达式 使用线程池创建线程 实现 Callable 接口 继承 Tread 类&#xff0c;重写 run 方法 自定…

uni-app项目成功编译到微信开发者工具出现警告:当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!

问题描述 为什么uni-app项目编译成功后&#xff0c;运行到微信开发者工具&#xff0c;却出现警告&#xff1a;当前组件仅支持 uni_modules 目录结构 &#xff0c;请升级 HBuilderX 到 3.1.0 版本以上&#xff01; 初识uni-app的童鞋&#xff0c;经常会问&#xff1a;我使用HBui…

2019年[海淀区赛 第2题] 阶乘

题目描述 n的阶乘定义为n!n*(n -1)* (n - 2)* ...* 1。n的双阶乘定义为n!!n*(n -2)* (n -4)* ...* 2或n!!n(n - 2)*(n - 4)* ...* 1取决于n的奇偶性&#xff0c;但是阶乘的增长速度太快了&#xff0c;所以我们现在只想知道n!和n!!末尾的的个数 输入格式 一个正整数n &#xff…

酷开会员 | 亚运会来啦!酷开系统陪你一起看赛事!

第十九届亚洲运动会已经开始啦&#xff01;坐标杭州&#xff0c;本次亚运会有来自亚洲45个国家和地区的1.2万余名运动员参赛&#xff0c;是史上规模最大、覆盖面最广的一届亚运会。它是亚洲具有世界性影响的体育盛会&#xff0c;来自亚洲各国和地区的运动员在赛场上奋力拼搏&am…

南美阿根廷市场最全分析开发攻略,收藏一篇就够了

聊到阿根廷&#xff0c;大家可能对阿根廷的足球印象比较深&#xff0c;比如球星梅西&#xff0c;不管是不是球迷应该大部分都有听说过&#xff0c;阿根廷作为南美洲面积第二大的国家&#xff0c;市场潜力也是非常不错的&#xff0c;今天就主要来聊一下关于阿根廷市场的一些相关…