自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 MySQL学习记录(9)InnoDB存储引擎

MySQL5.5 版本开始,默认使用InnoDB存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发 中使用非常广泛。下面是InnoDB架构图,左侧为内存结构,右侧为磁盘结构。

2023-01-28 17:49:47 704 1

原创 Gateway

*org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator#getFilters()**方法是先加载defaultFilters,然后再加载某个route的filters,然后合并。请求路由后,会将当前路由过滤器和DefaultFilter、GlobalFilter,合并到一个过滤器链(集合)中,排序后依次执行每个过滤器。每一个过滤器都必须指定一个int类型的order值,order值越小,优先级越高,执行顺序越靠前。

2023-01-15 21:01:36 546

原创 Feign

Feign是一个声明式的http客户端,其作用就是帮助我们实现http请求的发送,解决上面提到的问题管方地址:https://github.com/OpenFeign/feign-- Feign客户端依赖--> < dependency > < groupId > org.springframework.cloud < artifactId > spring-cloud-starter-openfeign

2023-01-13 19:35:17 765

原创 nacos

1.Nacos服务搭建​ ①下载安装包​ ②解压​ ③在bin目录下运行指令:startup.cmd -m standalone2.Nacos服务注册或发现​ ①引入nacos.discovery依赖​ ②配置nacos地址spring.cloud.nacos.server-addr1.Nacos服务分级存储模型​ ①一级是服务,例如userservice​ ②二级是集群,例如杭州或上海​ ③三级是实例,例如杭州机房的某台部署了userservice的服务器2.如何设置实例的集群属性。

2023-01-11 19:50:56 521

原创 MySQL学习记录(8)MySQL锁

​ 全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语 句,已经更新操作的事务提交语句都将被阻塞。​ 其典型的使用场景是做全库的逻辑备份,对所有的表进行锁定,从而获取一致性视图,保证数据的完整 性。​ 为什么全库逻辑备份,就需要加全就锁呢?​ A. 我们一起先来分析一下不加全局锁,可能存在的问题。假设在数据库中存在这样三张表: tb_stock 库存表,tb_order 订单表,tb_orderlog 订单日志表。

2022-12-11 20:38:59 528

原创 MySQL学习记录(7)SQL优化

如果我们需要一次性往数据库表中插入多条记录,可以从以下三个方面进行优化(1)批量插入数据(2)手动控制事务(3)主键顺序插入主键顺序插入,性能要高于乱序插入。(在主键优化中展开讲)如果一次性需要插入大批量数据(比如: 几百万的记录),使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令进行插入。操作如下:可以执行如下指令,将数据脚本文件中的数据加载到表结构中:3.2、主键优化3.2.1、数据组织方式在InnoDB存储引擎中,表数据都是根据主键顺序组织存放的,

2022-12-06 00:26:34 396

原创 MySQL学习记录(6)索引02

虽然是根据name字段查询,查询二级索引,但是由于查询返回在字段为 id,name,在name的二级索引中,这两个值都是可以直接获取到的,因为覆盖索引,所以不需要回表查询,性能高。可以根据索引的选择性来决定,而选择性是指不重复的索引值(基数)和数据表的记录总数的比值,索引选择性越高则查询效率越高, 唯一索引的选择性是1,这是最好的索引选择性,性能也是最好的。最左前缀法则指的是查询从索引的最左列开始,并且不跳过索引的列,如果跳跃某一列,索引将会部分失效(后面的索引失效)。所以需要针对于age也要建立索引。

2022-12-03 00:30:00 580

原创 MySQL学习记录(5)索引01

索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。MySQL的索引时在存储引擎层实现的,不同的存储引擎有不同的索引结构,主要包含:(1)B+Tree索引:最为常见的索引结构,大部分引擎都支持B+树索引(2)Hash索引:底层数据结构是用哈希表实现的,只有精确匹配索引列的查询才有效,不支持范围查询。

2022-12-02 00:47:49 350

原创 MySQL学习记录(4)存储引擎

最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。

2022-11-28 19:27:29 66

原创 Spring复习——day17_SpringMVC_执行流程

作用:进行视图解析,得到相应的视图,例如:ThymeleafView、InternalResourceView、RedirectView。作用:在DispatcherServlet的控制线Handler对具体的用户请求进行处理。作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求。作用:根据请求的url,method等信息查找Handler,即控制方法。,不需要工程师开发,由框架提供。,不需要工程师开发,有框架提供。,不需要工程师开发,由框架提供。,不需要工程师开发,由框架提供。

2022-10-31 23:52:12 131

原创 Spring复习——day16_SpringMVC_异常处理器

1、业务异常(BusinessException)发送对应的消息传递给用户,提醒规范操作,常见的就是提示用户名已存在或者密码格式不正确2、系统异常(SystemException)步骤1:发送固定的消息传递给用户,安抚用户(系统繁忙,请稍后再试;系统正在维护升级,请稍后再试;系统出现问题,请联系系统管理员等)步骤2:发送特定消息给运维成员,提醒维护(可以发送短信、邮箱或者是公司内部通信软件)步骤3:记录日志(发消息和记录日志对用户来说是不可见的,属于后台程序)3、其他异常(Excep

2022-10-30 21:52:21 290

原创 Spring复习——day15_SpringMVC_文件上传和下载_拦截器

preHandle:控制器方法执行之前执行preHandle(),其boolean类型的返回值表示是否拦截或放行,返 回true为放行,即调用控制器方法;preHandle()返回false和它之前的拦截器的preHandle()都会执行,postHandle()都不执行,返回false的拦截器之前的拦截器的afterCompletion()会执行。preHandle()会按照配置的顺序执行,而postHandle()和afterCompletion()会按照配置的反序执行。

2022-10-26 23:49:17 180

原创 Spring复习——day14_SpringMVC_处理ajax请求

3、使用@ResponseBody注解标识控制器方法,在方法中,将需要转换为json字符串并响应到浏览器的java对象作为控制器方法的返回值,此时SpringMVC就可以将此对象直接转换为json字符串并响应到浏览器。@RequestBody可以获取请求体信息,使用@RequestBody注解标识控制器方法的形参,当前请求的请求体就会为当前注解所标识的形参赋值。3、在控制器方法的形参位置,设置json格式的请求参数要转换成的java类型(实体类或map)的参 数,并使用@RequestBody注解标识。

2022-10-25 23:40:03 91

原创 复习(基础8)Stream流

​在Java 8中,得益于Lambda所带来的函数式编程, 引入了一个全新的Stream流概念。目的:用于简化集合和数组操作的API。1.2、Stream流思想:Stream流式思想的核心:1.先得到集合或者数组的Stream流(就是一根传送带)2.把元素放上去3.然后就用这个Stream流简化的API来方便的操作元素。​

2022-10-19 23:54:30 1562

原创 Spring复习——day13_SpringMVC_RESTful案例

和传统的CRUD一样,实现对员工信息的增删查改。

2022-10-18 00:02:14 112

原创 Spring复习——day12_SpringMVC_RESTful

资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。因为资源是一个抽象的概念,所以它不仅仅能代表服务器文件系统中的一个文件、 数据库中的一张表等等具体的东西,可以将资源设计的要多抽象有多抽象,只要想象力允许而且客户端 应用开发者能够理解。与面向对象设计类似,资源是以名词为核心来组织的,首先关注的是名词。一个资源可以由一个或多个URI来标识。URI既是资源的名称,也是资源在Web上的地址。对某个资源感兴趣的客户端应用,可以通过资源的U

2022-10-17 23:31:46 84

原创 Spring复习——day11_SpringMVC_域对象共享数据

使用ModelAndView向请求域共享数据时,可以使用其Model功能向请求域共享数据,使用。Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的。View功能设置逻辑视图,但是控制器方法一定要将ModelAndView作为方法的返回值。

2022-10-16 00:01:33 87

原创 Spring复习——day10_SpringMVC_获取请求参数

在控制器方法的形参位置,设置和请求参数同名的形参,当浏览器发送请求,匹配到请求映射时,在 DispatcherServlet中就会将请求参数赋值给相应的形参。若请求所传输的请求参数中有多个同名的请求参数,此时可以在控制器方法的形参中设置字符串 数组或者字符串类型的形参接收此请求参数;可以在控制器方法的形参位置设置一个实体类类型的形参,此时若浏览器传输的请求参数的参数名和实 体类中的属性名一致,那么请求参数就会为此属性赋值。若使用字符串类型的形参,此参数的值为每个数据中间使用逗号拼接的结果。

2022-10-14 23:21:46 135

原创 Spring复习——day09_SpringMVC_@RequestMapping注解

若当前请求的请求地址满足请求映射的value属性,但是请求方式不满足method属性,则浏览器报错 405:Request method 'POST' not supported。@RequestMapping注解的method属性是一个RequestMethod类型的数组,表示该请求映射能够匹配多种请求方式的请求。@RequestMapping注解的value属性是一个字符串类型的数组,表示该请求映射能够匹配多个请求地址 所对应的请求。

2022-10-14 00:16:56 104

原创 Spring复习——day08_SpringMVC简介&&入门案例

MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,值工作中的JavaBean,作用的处理数据JavaBean分为两类:一类称为实体类Bean:专门存储业务数据的,如Student、User等一类称为业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据,控制层,值工程中servlet,作用是接收请求和响应浏览器。

2022-10-09 23:54:09 87

原创 Spring复习——day07_Spring AOP

AOP(Aspect Oriented Programming)是一种设计思想,是软件设计领域中的面向切面编程,它是面 向对象编程的一种补充和完善,它以通过预编译方式和运行期动态代理方式实现在不修改源代码的情况 下给程序动态统一添加额外功能的一种技术。

2022-10-05 00:03:33 45

原创 复习(基础7)反射

反射是指对于任何一个Class类,在"运行的时候"都可以直接得到这个类全部成分。在运行时,可以直接得到这个类的构造器对象:在运行时,可以直接得到这个类的成员变量对象:Field在运行时,可以直接得到这个类的成员方法对象:Method这种运行时动态获取类信息以及动态调用类中成分的能力称为Java语言的反射机制。1.2、反射的关键反射的第一步都是先得到编译后的Class类对象,然后就可以得到Class的全部成分。

2022-10-03 00:14:34 228

原创 复习(基础6)异常

自定义异常的必要?Java无法为这个世界上全部的问题提供异常类。如果企业想通过异常的方式来管理自己的某个业务问题,就需要自定义异常类了。自定义异常的好处:可以使用异常的机制管理业务问题,如提醒程序员注意。同时一旦出现bug,可以用异常的形式清晰的指出出错的地方。自定义异常的分类:1、自定义编译时异常定义一个异常类继承Exception.重写构造器。在出现异常的地方用throw new 自定义对象抛出,作用:编译时异常是编译阶段就报错,提醒更加强烈,一定需要处理!!try {

2022-10-02 23:23:26 46

原创 复习(基础5)网络编程

连接、发送数据都需要确认,且传输完毕后,还需释放已建立的连接,通信效率较低。可以广播发送 ,发送数据结束时无需释放资源,开销小,速度快。对信息安全要求较高的场景,例如:文件下载、金融等数据通信。发送不管对方是否准备好,接收方收到也不确认,故是不可靠的。,之所以称为动态端口,是因为它 一般不固定分配某种进程,而是动态分配。个整数,每个整数用四个十六进制位表示, 数之间用冒号(:)分开。使用TCP协议,必须双方先建立连接,它是一种。:称为回送地址也可称本地回环地址,只会寻找当前所在本机。

2022-09-26 00:08:10 200

原创 复习(基础4)IO流(2)

缓冲流也称为高效流、或者高级流。之前学习的字节流可以称为原始流作用:缓冲流自带缓冲区、可以提高原始字节流、字符流读写数据的性能字节缓冲输入流自带了8KB缓冲池,以后我们直接从缓冲池读取数据,所以性能较好。字节缓冲输出流自带了8KB缓冲池,数据就直接写入到缓冲池中去,写数据性能极高了。字节缓冲流字节缓冲输入流:BufferedInputStream,提高字节输入流读取数据的性能。字节缓冲输出流:BufferedOutputStream,提高字节输出流读取数据的性能。构造器。

2022-09-23 21:52:29 92

原创 复习(基础3)IO流(1)

I表示intput,把硬盘文件中的数据读入到内存的过程,称之输入,负责读。O表示output,把内存中的数据写出到硬盘文件的过程,称之输出,负责写。IO流分类字节输入流:以内存为基准,来自磁盘文件/网络中的数据以字节的形式读入到内存中去的流称为字节输入流。字节输出流:以内存为基准,把内存中的数据以字节写出到磁盘文件或者网络中去的流称为字节输出流。字符输入流:以内存为基准,来自磁盘文件/网络中的数据以字符的形式读入到内存中去的流称为字符输入流。

2022-09-23 00:13:03 469

原创 复习(基础2)File类

当文件对象是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File。File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在的。当文件对象是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File。当文件对象代表一个空文件夹时,返回一个长度为0。当文件不存在时或者代表文件时,返回null。返回文件的最后修改时间(时间毫秒值)1.2.2、创建文件、删除文件功能。到一个文件对象数组中去返回(重点)返回文件的大小(字节数量)返回定义文件时使用的路径。返回文件的名称,带后缀。

2022-09-22 23:39:34 99

原创 复习(基础1):多线程

三种方法对比 (3)加锁方式3:Lock锁 5.线程通信 6.线程池(1)概述 (4)线程池处理Callable任务 (5)Executors工具类实现线程池

2022-09-12 09:36:10 141

原创 **com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method findGoodsById in the service

遇到一个方法测试了好多次都报*com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method findGoodsById in the service com.qingcheng.service.goods.SpuService. Tried 3 times。下面的报错第一部分加黑的地方报了重试三次,第二部分加黑的地方打印出来了请求开始和结束的时间是1000毫秒。dubbo默认的超时时间是一秒,重试三次。需要给消费者配置超时时间。

2022-09-11 13:28:19 737

原创 Failed to meta-introspect annotation interface org.springframework.web.bind.annotation.RequestBody:

传智健康第一次运行出现NullPointerExceptionBug。1、spring配置文件中扫描出错。@Reference//查找服务。

2022-09-11 11:09:32 497 2

原创 Spring复习——day06_Spring 基于注解管理Bean

(3)若byType和byName的方式都无法实现自动装配,即ioc容器中有多个类型匹配的bean且这些bean的id和要赋值的属性的属性名都不一致,此时抛出异常NoUniqueBeanDefinitionException此时可以在要赋值的属性上,添加一个注解@Qualifier通过该注解的value属性值,指定某个bean的id,将这个bean为属性赋值。所以@Controller、@Service、@Repository这 三个注解只是给开发人员看的,让我们能够便于分辨组件的作用。

2022-09-07 13:24:11 242

原创 Spring复习——day05_Spring 基于XML管理Bean(3)

FactoryBean是Spring提供的一种整合第三方框架的常用机制。和普通的bean不同,配置一个FactoryBean类型的bean,在获取bean的时候得到的并不是class属性中配置的这个类的对象,而是 getObject()方法的返回值。通过这种机制,Spring可以帮我们把复杂组件创建的详细过程和繁琐细节都屏蔽起来,只把最简洁的使用界面展示给我们。将来我们整合Mybatis时,Spring就是通过FactoryBean机制来帮我们创建SqlSessionFactory对象的。

2022-09-05 18:29:40 174

原创 MySQL学习记录(3)多表查询 && 事务

数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么同时成功,要么同时失败。事务是一个不可分割的工作逻辑单元。张三和李四账户中各有100块钱,现李四需要转换500块钱给张三,具体的转账操作为第一步:查询李四账户余额第二步:从李四账户金额 -500第三步:给张三账户金额 +500。

2022-09-05 00:09:30 1094

原创 Spring复习——day04_Spring 基于XML管理Bean(2)

使用util:list、util:map标签必须引入相应的命名空间,可以通过idea的提示功能选择。(1)修改Strudent类,在类中添加数组类型属性,并添加get/set方法。若为Set集合类型属性赋值,只需要将其中的list标签改为set标签即可。引入p命名空间后,可以通过以下方式为bean的各个属性赋值。创建jdbc.properties文件。在Student类中添加以下集合。在Clazz类添加以下代码。创建教师类Teacher。引用集合类型的bean。

2022-09-04 22:44:08 134

原创 MySQL学习记录(2)约束&&数据库设计

目录1、约束1.1、概念1.2、分类1.3、非空约束1.4、唯一约束1.5、主键约束1.6、默认约束1.7、练习上述约束1.8、外键约束(1)概念(2)语法(3)练习2、数据库设计2.1、简介2.2、表关系2.2.1、一对多2.2.2、多对多2.2.3、一对一约束是作用于表中列上的规则,用于限制加入表的数据 例如:我们可以给id列加约束,让其值不能重复,不能为null值。约束的存在保证了数据库中数据的正确性、有效性和完整性添加约束可以在添加数据的时候就限制不正确的数据,年龄是3000,数学成绩是-5分这样无

2022-09-03 23:34:01 69

原创 Spring复习——day03_Spring 基于XML管理Bean(1)

而如果a是带引号的:'a',那么它现在不是一个变量,它就是代表a这个字母本身,这就是字面量。意思是不能把String类型转换成我们要的Clazz类型,说明我们使用value属性时,Spring只把这个 属性看做一个普通的字符串,不会认为这是一个bean的id,更不会根据它去找到bean来赋值。根据类型来获取bean时,在满足bean唯一性的前提下,其实只是看:『对象 instanceof 指定的类 型』的返回结果,只要返回的是true就可以认定为和类型匹配,能够获取到。配置Clazz类型的bean。

2022-09-02 15:22:22 118

原创 java: 程序包org.springframework.web.bind.annotation不存在

java: 程序包org.springframework.web.bind.annotation不存在java: 找不到符号 符号: 类 RequestMapping 位置: 类 com.itwpf.colltroller.HelloController

2022-09-01 10:51:55 420

原创 Spring复习——day02_Spring IOC && Spring基于XML管理Bean入门案例

反转控制的思想完全颠覆了应用程序组件获取资源的传统方式:反转了资源的获取方向——改由容器主动的将资源推送给需要的组件,开发人员不需要知道容器是如何创建资源对象的,只需要提供接收资源的方式即可,极大的降低了学习成本,提高了开发的效率。Spring 的 IOC 容器就是 IOC 思想的一个落地的产品实现。在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需要的资源,在这样的 模式下开发人员往往需要知道在具体容器中特定资源的获取方式,增加了学习成本,同时降低了开发效 率。...

2022-08-31 23:48:32 152 1

原创 Spring复习——day01_Spring简介

Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首 次在 Apache 2.0 许可下发布。Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。...

2022-08-30 23:44:14 84

原创 MyBatis复习——day07_MyBatis分页插件的使用

pageSize:每页显示的条数pageNum:当前页的页码index:当前页的起始索引,index=(pageNum-1)*pageSizecount:总记录数totalPage:总页数= 0){}select * from 表名 limit index,pageSize;index从0开始。

2022-08-29 23:35:16 94

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除