- 博客(43)
- 收藏
- 关注
原创 SpringCloud——Nacos注册中心、OpenFeign
OpenFeign是一个声明式的http客户端,是SpringCloud在Eureka公司开源的Feign基础上改造而来的。OpenFeign只会在FeignClient所在包的日志级别为DEBUG时,才会输出日志。而且其日志级别有4级:。HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息。FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据。为减少代码重复,提高代码复用性,将请求访问的代码抽离,新建模块。BASIC:仅记录请求的方法,URL以及响应状态码和执行时间。
2025-06-03 16:35:05
308
1
原创 SpringCloud——Docker
设置镜像名称,Docker会根据这个名字搜索并下载镜像,REPOSITORY:TAG,例如mysql:8.0,其中REPOSITORY可以理解为镜像名,TAG是版本号。2、容器内端口往往是由容器内的进程决定,例如MySQL进程默认端口是3306,因此容器内端口一定是3306;而宿主机端口则可以任意指定,一般与容器内保持一致。但是可以将宿主机端口映射容器内到端口,当访问宿主机指定端口时,就是在访问容器内的端口了。配置容器内进程运行时的一些参数,-e KEY=VALUE,KEY和VALUE都由容器内进程决定。
2025-05-30 10:26:13
797
原创 SpringCloud——MybatisPlus
利用MyBatisPlus的Wrapper来构建复杂的where条件,然后自己定义SQL语句中剩下的部分@Override.eq(status!@Override//通过id查找用户throw new RuntimeException("扣减失败,用户不存在");//判断用户状态throw new RuntimeException("扣减失败,用户被冻结");//判断账户余额throw new RuntimeException("扣减失败,余额不足");
2025-05-23 17:14:24
792
原创 JavaWeb——事务管理、AOP
Aspect Oriented Programming(面向切面编程、面向方面编程),其实就是面向特定方法编程。private,仅能在当前切面类中引用该表达式,public,在其他外部的切面类中也可以引用该表达式。切入点:PointCut,匹配连接点的条件,通知仅会在切入点方法执行时被应用。当有多个切面的切入点都匹配到目标方法,目标方法运行时,多个通知方法都会被执行。当一个事务方法被另一个事务方法调用时,这个事物方法应该如何进行事物控制。切面:Aspect,描述通知与切入点的对应关系(通知+切入点)
2025-03-28 22:03:57
458
原创 Mybatis——基础操作、动态SQL
目录一.基础操作1.删除2.新增3.更新4.查询5.XML映射文件二、动态SQL1.<if>2.<where>3.<set>4.<foreach>5.<sql>6.<include>参数占位符:注意: #{...}相比于${...}具有性能高、防止SQL注入的优势普通查询:条件查询:注意:#{...}不能放在' '当中,使用${..,},会发生SQL注入,解决办法是使用contact()函数数据封装: 实例:二、动态SQL1.<if>用于判断条件是否成立。使用test属性进行条件判断,如果条件
2025-03-15 20:58:18
422
原创 JavaWeb——Mybatis、JDBC、数据库连接池、lombok
数据库连接词是个容器,负责分配、管理数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个,释放空闲时间超过最大空闲时间的连接,来避免因为没有释放连接而引起的数据库连接遗漏Lombok是一个实用的Java类库,能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,并可以自动化生成日志变量,简化java开发、提高效率。
2025-03-11 21:07:24
492
原创 MySQL——多表查询、事务、索引
事务是一组操作集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤销请求操作,即这些操作要么同时成功,要么同时失败默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务索引是帮助数据库高效获取数据的数据结构。
2025-03-07 15:54:28
365
原创 MySQL——DQL、多表设计
1.执行时机不同:where是分组之前进行的过滤,不满足where条件,不参与分组;2.统计数量可以使用:count(*) count(字段) count(常量),推荐使用count(*)2.分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。3.如果查询的是第一页数据,起始索引可以省略,直接写成limit 10。在任意一方加入外键,关联另一方的主键,并且设置外键为唯一的。在数据库表中多的一方,添加字段,来关联一的一方的主键。将一列数据作为一个整体,进行纵向计算。
2025-03-04 20:27:43
545
原创 MySQL——DDL、DML
2. DELETE语句不能删除某一个字段的值(如果要操作,可以使用UPDATE,将该字段的值置为NULL)。约束是作用于表中字段上的规则,用于限制存储在表中的数据,保证数据库中数据的准确性、有效性、完整性。char(10)表示最多能存10个字符,不足10个字符,占用10个字符空间(性能高、浪费空间)1.DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。3.插入的数据大小,应该在字段的规定范围内。
2025-03-03 11:20:03
619
原创 JavaWeb——请求响应、分层解耦
前面声明bean的四大注解,要想生效,还需要被组件扫描注解@ComponentScan扫描,在SpringBoot项目当中@ComponentScan注解虽然没有显式配置,但是实际上已经包含在了启动类声明注解@SpringBootApplication中,默认的扫描的范围是启动类所在包极其子包。ResponseBody是方法注解、类注解,放在Controller方法上/类上,作用是将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换诚JSON格式响应。
2024-12-11 20:07:45
760
1
原创 JAVAWeb——maven、SpringBoot、HTTP、Tomcat
Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间的数据传输的规则1.基于TCP协议:面向连接,安全2.基于请求-响应模型的:一次请求对应一次响应3.HTTP协议是无状态的协议:对于事物处理没有记忆能力。每次请求-响应都是独立的优点:速度快缺点:多次请求间不能数据共享。
2024-12-04 16:59:02
1883
原创 JavaWeb——Ajax、Element、打包部署
Asynchronous JavaScript And XML,异步的JavaScript和XML,通过Ajax可以给服务器发送请求,并获取服务器响应的数据。可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术繁琐,目前不使用,目前使用Axios。
2024-11-25 12:36:41
1065
原创 JavaWeb——JS、Vue
Vue是一套前端框架,免除原生JS中的DOM操作,简化书写;基于MVVM思想,实现数据双向绑定,将编程的关注点放在数据上。
2024-11-18 22:07:30
1048
原创 JavaWeb——HTML、CSS
HTML是超文本标记语言(HyperTextMarkupLanguage)的缩写。它用于创建和设计网页的结构和内容。通过HTML,开发者可以在网页中嵌入文本、图像、链接、表格等元素。HTML是一种标记语言,使用标签(tags)来定义不同类型的元素。CSS 是一种描述 HTML 文档样式的语言。CSS 描述应该如何显示 HTML 元素。
2024-11-14 09:18:45
1052
原创 JAVA——网络编程
网络编程是指网络上的主机,通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输)。这些程序可以进行数据的发送和接收,实现不同计算机系统之间的通信。表示Internet协议(IP)地址TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Sock对象通信之间要保证连接已经建立,通过Sock产生的IO流来进行网络通信。
2024-11-01 19:29:49
1150
原创 JAVA——多线程
线程(Thread)是一个程序内部的一条执行流程。程序如果有一条执行流程,就是单线程程序。多线程是指从软硬件上实现的多条执行流程的技术(多条线程由 CPU 负责调度执行)。多个线程,同时操作同一个共享资源的时候,可能会出现业务安全问题。将操作共享数据的代码锁起来(实现在并发执行过程中,同一时刻只有一个线程能访问程序)同步方法是指使用synchronized关键字修饰的方法通过它创建出锁对象进行加锁和解锁Lock是接口,不能直接实例化,可以采用其他实现类ReentrantLock构建Lock锁对象。
2024-10-31 09:03:15
743
原创 JAVA——IO流(2)
是字符流和字节流之间的桥梁转换流java.io.InputStreamReader,是Reader的子类,是从字节流到字符流的桥梁。它读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。转换流java.io.OutputStreamWriter ,是Writer的子类,是从字符流到字节流的桥梁。使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。Java 提供了一种对象序列化的机制。
2024-10-23 22:00:05
859
原创 JAVA——File类
File对象就表示一个路径,可以是文件的路径、也可以是文件夹的路径,这个路径可以是存在的,也允许是不存在的1.创建成功返回true,创建失败返回false2.如果父级路径不存在,方法会抛出IOException3.createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件。
2024-10-12 22:05:10
1100
原创 Java——Stream流
在Java中,Stream流是一种用于处理数据的抽象概念。它可以用来操作集合、数组、输入/输出资源等,提供了一种统一的处理方式。在Java 8中引入了Stream API,它可以让开发者更方便地处理数据集合,以函数式编程的方式进行操作。Stream流支持多种操作,可以分为两类:中间操作和终端操作。中间操作是指在数据流中进行处理,可以用来过滤、映射、排序等操作。常用的中间操作有:filter、map、sorted等。终端操作是指对数据流进行最终的处理,可以用来收集、计数、求和等操作。
2024-10-09 20:03:08
432
原创 JAVA工具类——Collections
可变参数(varargs)是一种方便的方法参数特性,它允许你在调用方法时传递任意数量的参数。可变参数在方法声明中使用省略号(...)表示,并且必须是方法参数列表中的最后一个参数。Collections提供了一系列静态方法,专门用于操作和处理各种集合类型,这涵盖了List、Set、Map等常见集合。
2024-09-28 16:46:36
415
原创 Map集合——HashMap集合、LinkedHashMap集合、TreeMap集合
Map是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用的1.HashMap是Map里面的一个实现类2.特点都是由键决定的:无序、不重复、无索引3.HashMap跟HashSet底层原理是一模一样的,都是哈希表结构LinkedHashMap是Java中的一个类,它继承自HashMap,实现了Map接口。它的特点是维护了一个双向链表,记录了插入元素的顺序,因此支持按插入顺序或访问顺序(可选)进行迭代。TreeMap是Java中的一种基于红黑树实现的映射表,按键的自然顺序或指定的比较器排序。
2024-09-27 18:21:58
730
原创 Set集合——HashSet集合、LinkedHashSet集合、TreeSet集合、集合的选择
跟HashSet相比,LinkedHashSet可以保证存储和取出地元素顺序一致TreeSet可以按照可以按照元素地默认规则(由小到大)排序TreeSet集合底层是基于红黑树数据结构实现排序的,增删改查性能都很好。
2024-09-23 21:47:48
646
原创 数据结构——平衡二叉数旋转
从添加的节点开始,不断地往父节点找不平衡的节点1.以不平衡的点作为支点2.把支点左旋降级,变成左子节点3.晋升原来的右子节点2.旋转根节点从添加的节点开始,不断地往父节点找不平衡的节点1.以不平衡的节点为支点2.将根节点的右侧往左拉3.原先的右子节点变成新的父节点,并把多余的左子节点让出,给已经降级的根节点的右子节点。
2024-09-22 19:23:03
638
原创 List集合——ArrayList集合、LinkedList集合、迭代器
底层数据结构是双链表,查询慢,增删块,但是如果操作的是首尾元素,速度也极快。
2024-09-21 10:59:17
387
原创 JAVA常见的查找算法
并且建立一个索引表,索引表中的每个元素包含对应子块中的最大(或最小)关键字和该子块在查找表中的起始位置。每个子块内部元素可以无序,但子块之间是有序的(即第一个子块中的最大元素小于第二个子块中的最小元素,以此类推)当查找的值小于数组中的最小值或大于数组中的最大值时,插值查找的计算公式可能会导致数组越界,从而引发错误。依赖排序:二分查找要求数组必须是有序的,如果数组未排序,需要先进行排序,这会增加额外的时间复杂度。插值查找要求数组必须是有序的,如果数组无序,插值查找的结果将无法保证正确。斐波那契查找(了解)
2024-09-14 20:55:35
1001
原创 JAVA包装类——以Integer为例
Integer类包装一个对象中的原始类型int的值。类型为Integer的对象包含一个单一字段,其类型为int。此外,该类还提供了一些将int转换为String和String转换为int,以及在处理int时有用的其他常量和方法。
2024-09-09 18:36:09
433
原创 JAVA常用API
System是一个工具类,提供了一些与系统相关的方法Runtime表示当前虚拟机的运行环境Object是Java中的顶级父类。所有的类都直接或间接的继承与Object类。Objects是一个工具类,提供了一些方法去完成一些功能。BigInteger类常用于处理大整数BigDecima常用于表示很大的小数和小数的精确计算Data类是一个JDK写好的Javabean类,用来描述时间,精确到毫秒Data类是一个标准的Javabean类将时间转换为我们喜欢的形式(字符串表示的时间变成Data对象)
2024-09-09 11:42:52
824
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人