- 博客(33)
- 收藏
- 关注
原创 spring boot 常用笔记
和。:标记类是一个配置类。用于标记一个类为 Spring 配置类,该类可以替代传统的 XML 配置文件。:启用 Spring Boot 的自动配置机制。用于自动配置 Spring 应用程序上下文,尝试根据已添加的 jar 依赖自动配置你的 Spring 应用。:启用组件扫描。用于自动扫描并注册带有@Component@Service和注解的类。
2024-07-24 23:13:47 260
原创 Json Web Token
Json Web Token web应用中,能够携带用户信息,带有数字签名的JSON字符串。通常简称为token。使用JWT后的访问流程:用户登录时,访问一个"验证服务",生成一个特殊的字符串给客户端。这个字符串中,保存了用户信息,还有数字签名。用户下次登录时,再次访问这个"验证服务",只需按签发时的签名规则解密,就能判断能否访问,同时也能获取保存在其中的信息。这个特殊的字符串,就成为token,包含三部分,用.隔开:"头.负载.签名"
2023-11-20 10:57:38 87
原创 网络服务器和项目管理的工具
Tomcat由Apecha、Sun公司及其他公司和个人共同开发的网络服务器。免费、开源、轻量级,在中小型系统中普遍使用。通过在Maven项目中加入某个jar文件所需的dependency(依赖),让其自动从Maven仓库下载对应的jar文件。 修改本地hosts文件,设置默认本机127.0.0.1对应的域名localhost; 在IDEA中创建基于Maven的Web项目
2023-09-11 18:26:20 681 1
原创 数据库设计(一)
在数据库设计中,需要考虑多个关键方面。首先,需要明确定义数据的结构和关系,包括实体、属性和它们之间的关系。这可以通过使用实体关系模型(Entity-Relationship Model)来进行建模和表示。有效的数据库设计还需要了解和应用一些基本的规范和原则。其中,范式化(Normalization)是一种重要的设计方法,用于消除冗余和提高数据的一致性。范式化涉及到将数据分解成更小、更简洁的结构,并通过关系(关联)将它们重新组合在一起。此外,数据库设计中还需要考虑性能优化、索引设计、安全性、备份和恢复等方面。
2023-09-10 11:51:25 535 1
原创 数据库编程
视图是虚拟的表,它是通过查询其他表或视图返回的结果集。事务是一组数据库操作,这些操作要么全部执行成功,要么全部回滚,保证数据的一致性和完整性。事务具有ACID属性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。触发器是一种特殊的存储过程,它在数据库中的特定操作(如插入、删除或更新)发生时自动触发。存储过程是一组预编译的SQL语句和控制结构,它存储在数据库中并可以被多次调用。
2023-09-09 16:10:06 569 2
原创 数据库基础知识点----多表查询
多表查询是在数据库中同时操作多个表来获取所需的数据。它允许我们根据相关性将不同的表连接起来,以便进行更复杂和有针对性的数据检索。在多表查询中,我们通常使用一种称为“JOIN”的操作来连接表。JOIN操作根据指定的关联条件将两个表中的数据合并,生成一个临时的结果集,然后在该结果集上执行其他查询操作。
2023-09-06 18:01:14 1345 2
原创 Java语言中连接和操作数据库
JDBC是Java语言中用于连接和操作不同类型数据库的一套标准API(应用程序接口)。它定义了一组Java类和接口,可以通过这些类和接口来访问和处理数据库。类:是JDBC的基础类之一,用于加载数据库驱动程序,并与数据库建立连接。Connection接口:表示与特定数据库的连接。通过该接口,可以创建Statement对象以执行SQL语句。Statement接口:用于执行SQL语句,并可以返回结果集。ResultSet接口:表示数据库返回的结果集。它提供了访问和处理查询结果的方法。接口:继承自。
2023-09-05 15:34:06 500
原创 【javascript】轮播图
是通过jQuery库来操作DOM元素和设置样式来实现图片的切换效果。通过监听缩略图的点击事件来切换对应的背景图显示,并根据定时器的触发来实现自动轮播效果。这段代码是一个简单的图片轮播效果的实现。//对应索引的大图显示,其带有"s"class的兄弟节点隐藏。// 被单击的节点添加class,其同级节点移除class。//让index成为轮播变量。// 每隔2s自动点击下一张。// 第i张小图触发点击事件。//获取当前节点的索引。// 第一张小图高亮。
2023-09-04 14:57:48 80 1
原创 【数据库】基础二
之前我们做的查询都是横向查询,就是根据条件一行一行的进行判断,而使用聚合函数查询就是纵向查询,它是对一列的值进行计算,然后返回一个结果值。数据的操作,是指数据的增加create,修改update,查询read和删除delete.简称CURD。如果统计函数作为条件,不能使用where,而要将条件写在having之后,再将having子句写在最后。 • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。按指定的字段进行分组,会将该字段值相同的数据归纳到同一组中。
2023-09-02 16:13:51 46
原创 【MySQL】数据库基础一
数据Data是一个软件的根本。数据要永久地保存到数据库中。数据库DB是一个运行在操作系统上的软件。数据库管理系统DBMS是管理数据库的一个软件。学习数据库就是学习如何使用DBMS创建、使用数据仓库来管理数据。常见的SQL语句
2023-09-01 08:15:27 62
原创 【HTML】HTML、CSS基础
自定义列表不仅仅是一列项目,而是项目及其注释的组合。自定义列表以标签开始。每个自定义列表项以开始。每个自定义列表项的定义以开始。< dl > < dt > java < dd > java基础 < dd > java高级 < dt > HTML < dd > p标签 < dd > span标签 < dd > 列表标签
2023-08-31 08:16:30 288 1
原创 【HTML】前端框架layUI
由职业前端倾情打造,面向全层次的前后端开发者,易上手开源免费的 Web UI 组件库官网下载:https://www.ilayuis.com/1、下载框架包2、解压放到项目的根目录3、在页面中引用css和js文件4、我们编写的代码写在layui.use()方法的回调函数里1、简单的组件(不包含js)直接复制到body2、复杂组件(包含js)先放一个容器标签导入对应的组件模块js添加render方法3、如果基本例子不能满足要求,进一步查看文档1、JSON的数据样式:2、数据表格html3、给每行添加工具按
2023-08-30 12:46:28 822
原创 Vue-----day2
1.在views的目录下,新建一个.vue文件.vue文件类似于.java文件,需要编译后生成最终页面.vue文件中有三个根标签template:用于定义页面中的标签vue2.x版本中,template下只能有一个根标签vue3.x版后,template下没有标签的限制style:页面中的css代码scrip:页面中的js代码在这里插入图片描述-- 定义页面中的节点 -->我的页面-- scoped表示样式只能在当前页生效 -->
2023-08-29 22:55:05 52
原创 vue基础
vue是一套基于javascript实现的渐进式框架,用于构建用户界面其核心为了响应式数据驱动,由数据的更新实现页面更新,可以简化DOM操作1.下载vue.js文件(或引入在线文件)后引入2.在html页面的body中新建一个div,id命名为app3.在script中创建vue应用,绑定到上一步创建的div中4.定义数据5.插值表达式在浏览器的控制台中,输入app.data中的某个变量,就能看到其中的数据;如果对其重新赋值,页面就会自动更新。在上述的快速入门中,我们发现了html中输入了一个没有
2023-08-28 20:09:25 83 1
原创 jQuery
1、jQuery是一个JavaScript框架(库),简化JavaScript程序。2、jQuery有两个主流版本,一个1.x,大多数基于jQuery的框架使用的是1.x版本;另外就是官网最新版本3.x3、下载地址(1.12.4):https://blog.jquery.com/2016/05/4、引用js利用CDN方式引入标签选择器#id 选择器.class 选择标签名选择$(“p:first”) 选择第一个标签$(“a[target=‘_blank’]”) 选择指定属性值的标签$(“tr
2023-08-26 19:35:13 53 1
原创 javascript---对象
概念:JavaScript Object Notation,JavaScript对象标记法。JSON 是通过 JavaScript 对象标记法书写的文本。
2023-08-26 15:08:45 221 1
原创 【javascript】事件
结合事件流的特征,我们知道当某个元素的事件被触发时,事件总是会先经过其祖先才能到达当前元素,然后再由当前元素向祖先传递,事件在流动的过程中遇到相同的事件便会被触发。再来关注一个细节就是事件相继触发的【执行顺序】,事件的执行顺序是可控制的,即可以在捕获阶段被执行,也可以在冒泡阶段被执行。这一过程被称为事件冒泡。如果事件是在冒泡阶段执行的,我们称为冒泡模式,它会先执行子盒子事件再去执行父盒子事件,默认是冒泡模式。2、给父元素注册事件,当我们触发子元素的时候,会冒泡到父元素身上,从而触发父元素的事件。
2023-08-23 09:48:56 771
原创 【Javascript】Javascript------文档对象模型
标准属性: 标签天生自带的属性 比如class id title等, 可以直接使用点语法操作自定义属性:在html5中推出来了专门的data-自定义属性在标签上一律以data-开头在DOM对象上一律以dataset对象方式获取。
2023-08-22 11:11:59 91 1
原创 java的异常
将自定义异常类定义为继承自Java内置的Exception类或其子类,可以帮助异常处理机制捕获、处理和传播异常。类名:自定义异常类的名称应该反映出异常类型的含义,通常以Exception结尾,例如。构造方法:自定义异常类应该提供至少一个构造方法,以便在抛出异常时传递异常消息或其他必要的参数。可以使用super关键字调用父类的构造方法。异常信息:通过在自定义异常类中添加成员变量或方法,可以提供有关异常的详细信息。例如,添加一个成员变量来存储错误代码或异常原因,或添加一个方法来获取异常的更多上下文信息。
2023-08-22 09:28:36 49 1
原创 java集合(二)
通过比较List、Set和Map,可以看到它们在存储元素的方式和允许的操作上有所不同。 TreeMap底层使用二叉树存储键,键的顺序和键的排序规则有关,加入的键必须实现Comparable接口,不能插入null。 HashMap底层使用Hash算法计算键的存储位置,键的顺序不可预知,保存的键没有特殊要求,可以插入null。Map接口定义了一组与键相关联的值,并且键不会重复。Map是双列集合的祖宗,它的功能是全部双列集合都可以继承过来使用的。2、HashMap如何实现键的唯一性的?增删改查的性能都较好。
2023-08-21 11:20:13 47 1
原创 java集合
在上述示例中,通过创建一个匿名内部类实现了Comparator接口的compare()方法,定义了按照姓名升序排序的规则。当需要遍历Collection集合中的元素时,有三种常见的方法:迭代器(Iterator)、增强for循环(Enhanced for loop)和lambda表达式。通过调用集合的iterator()方法获取迭代器对象,然后使用while循环和迭代器的hasNext()和next()方法完成遍历。则调用equals方法比较属性值,如果一样,则不存,如果不一样,则存入数组。
2023-08-21 08:26:28 40 1
原创 【java】线程与进程
1、进程:指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。3、线程总是属于某个进程,进程中的多个线程共享进程的内存。进程中被启动的第一个线程被称为主线程,随后启动的线程都是子线程。2、线程:指进程中的一一个执行流程,一个进程中可以运行多个线程。●Thread.sleep(静态方法强制当前正在执行的线程休眠(暂停执行), 以“减慢线程”。使用synchronized修饰类方法的效果该类方法,在同一时刻只能被一个线程执行。synchronized可以同步。
2023-08-20 10:01:57 46 2
原创 【java】文件(File)和IO
所有文件的储存都是字节( byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列。变量名.createNewFile()//文件,会抛异常按照路径+名称。变量名.isDirectory() //查看是否为目录。变量名.isFile() // 查看是否为文件。变量名.getName());变量名.canWrite();变量名.isHidden();变量名.canRead();
2023-08-20 09:52:59 42 1
原创 【java】常用类
1、不能创建Math类对象,因为构造方法被private修饰(public修饰的构造方法在任何地方都可以被触发,而private修饰的构造方法只能在当前类触发)4、使用同一个种子创建对象,如果获取随机数的顺序相同,那么得到的随机数值还是一样的。5、使用当前时间的毫秒值作为种子,那么这个种子是唯一的,获得随机数是不同的。(1)、获取时间毫秒数:日期引用变量.getTime()4、修改时间分量:日期引用变量.set(参数,数据)5、添加时间分量:日期引用变量.add(参数,数据)2、Calender 的创建。
2023-08-19 12:29:02 44
原创 java面对对象知识点三----接口
使用关键字interface来定义接口。// 声明方法## 2、变量的声明:在接口中声明的变量都是隐式的常量(final),即接口中的变量声明默认为 public static final 类型。接口中的变量必须初始化,并且在声明时通过赋值来指定其值。// 常量声明,相当于 public static final int MAX_VALUE = 100;// 常量声明,相当于 public static final String DEFAULT_NAME = "John";
2023-08-15 12:53:48 150 2
原创 java面对对象知识点一
它存储了每个类的结构信息,包括类的字段、方法、构造函数和静态变量等。栈是线程执行的基本单位,每个方法在执行时都会创建一个栈帧,用于存储方法的局部变量和中间结果。在Java虚拟机(JVM)内存模型中,存在三个重要的内存区域:方法区、堆内存区和栈内存区。堆内存可以动态地分配和释放内存,对象的创建和销毁都在堆内存中进行。栈内存区:存储线程执行方法的局部变量(引用变量)、方法参数、返回值和操作数栈等。方法区:存储类的结构信息、常量、静态变量、编译器编译后的代码等。堆内存区:存储创建的对象,包括实例变量和数组。
2023-08-11 19:35:04 54 1
原创 java的内部类
在类中或类的成员方法中创建的类叫做内部类- 内部类也是一个类,可以有成员变量,成员方法- 内部类可以是普通类、抽象类子类、接口的实现类。
2023-08-05 18:42:10 70 2
原创 java中常用修饰符
abstract修饰符:抽象修饰符,用于定义抽象类和抽象方法。当用于类时,abstract表示该类为抽象类,不能被实例化,只能被继承。当用于方法时,abstract表示该方法没有具体实现,需要被子类实现(重写)
2023-07-31 19:57:43 831 2
原创 方法重载、方法重写的区别
方法重载、方法重写的区别在Java中,重写(Override)和重载(Overload)是两种不同的方法定义和使用方式。
2023-07-30 10:26:40 137 1
原创 java中定义package包、定义类、定义方法 、 定义变量
1、在Java中,package关键字用于定义包,包是一种组织类的方式,用于将相关的类组织在一起。2、Package解决类名冲突问题;因此定义类的时候,一般需要先给类指定一个包名。类的真实名字是: 包名 + 类名。3、Package的声明一般位于Java源文件的顶部,用于指定当前Java类所属的包。4、语法为:package 包名;包名的命名规则:由小写字母、数字、下划线和点(.)组成,它们之间用点(.)分隔。5、使用小写字母命名包。可以使用单个单词或多个单词组成的命名。
2023-07-29 10:46:53 720 2
以上代码实现了一个简单的轮播图功
2023-08-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人