自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Maven手动导入jar包到自己仓库

1、保证settings.xml文件中的 localRepository 是自己需要引入的仓库。

2022-09-27 14:49:19 1052 1

原创 16、Gateway跨域问题

跨域:域名不一致就是跨域,主要包括:跨域问题:浏览器禁止请求的发起者与服务端发生跨域ajax请求,请求被浏览器拦截的问题解决方案:CORS,这个以前应该学习过,这里不再赘述了。不知道的小伙伴可以查看https://www.ruanyifeng.com/blog/2016/04/cors.html在gateway服务的application.yml文件中,添加下面的配置:...

2022-07-01 17:30:00 1033

原创 15、Gateway全局过滤器

上一节学习的过滤器,网关提供了31种,但每一种过滤器的作用都是固定的。如果我们希望拦截请求,做自己的业务逻辑则没办法实现。全局过滤器的作用也是处理一切进入网关的请求和微服务响应,与GatewayFilter的作用一样。区别在于GatewayFilter通过配置定义,处理逻辑是固定的;而GlobalFilter的逻辑需要自己写代码实现。。在filter中编写自定义逻辑,可以实现下列功能:需求:定义全局过滤器,拦截请求,判断请求的参数是否满足下面条件:如果同时满足则放行,否则拦截实现:在gateway中定义一

2022-07-01 17:19:37 704

原创 14、Gateway过滤器工厂

GatewayFilter是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理:Spring提供了31种不同的路由过滤器工厂。例如:下面我们以AddRequestHeader 为例来讲解。只需要修改gateway服务的application.yml文件,添加路由过滤即可:当前过滤器写在userservice路由下,因此仅仅对访问userservice的请求有效。如果要对所有的路由都生效,则可以将过滤器工厂写到default下。格式如下:......

2022-07-01 16:42:52 185

原创 13、Gateway断言工厂

我们在配置文件中写的断言规则只是字符串,这些字符串会被Predicate Factory读取并处理,转变为路由判断的条件例如Path=/user/**是按照路径匹配,这个规则是由类来处理的,像这样的断言工厂在SpringCloudGateway还有十几个:我们只需要掌握Path这种路由工程就可以了。...

2022-07-01 16:39:44 144

原创 12、Gateway服务网关

Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。Gateway网关是我们服务的守门神,所有微服务的统一入口。网关的核心功能特性:在SpringCloud中网关的实现包括两种:Zuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则

2022-07-01 16:38:17 2257

原创 11、Feign使用最佳实践

将Feign的Client抽取为独立模块,并且把接口有关的POJO、默认的Feign配置都放到这个模块中,提供给所有消费者使用。

2022-06-29 11:02:38 486

原创 10、Feign使用优化

Feign底层发起http请求,依赖于其它的框架。

2022-06-29 10:47:14 744

原创 Spring事务7种传播机制

Spring事务的传播机制是为了解决事务在互相调用的过程中,是如何进行传播的,Spring为我们提供了7种传播机制

2022-06-29 10:28:52 2257

原创 9、Feign自定义配置

springcloud_feign自定义配置

2022-06-24 14:40:58 1431

原创 8、Feign远程调用

springcloud_feign远程调用

2022-06-24 14:32:54 455

原创 7、Nacos配置管理

springcloud_nacos配置管理

2022-06-24 10:41:58 290

原创 6、Nacos服务多级存储模型

springcloud_nacos服务多级存储模型

2022-06-22 16:05:17 723 1

原创 5、Nacos服务注册与发现

spingcloud_Nacos服务注册与发现

2022-06-22 11:41:53 321

原创 4、Ribbon负载均衡

springcloud_Ribbon负载均衡策略

2022-06-22 10:15:03 185

原创 3、Eureka服务发现与负载均衡

spingcloud_eurka服务发现与负载均衡

2022-06-21 22:36:49 1421

原创 2、Eureka服务注册

SpringCloud_Eureka服务注册

2022-06-21 21:20:42 617

原创 1、Eureka服务中心的搭建

SpringCloud学习_Eureka注册中心的搭建

2022-06-21 21:00:54 237

原创 Java生成Excel文件并响应给页面

Java生成Excel文件响应到前端页面

2022-06-21 10:42:24 862

转载 iNode Mac版本下载(亲测兼容M1 Pro)

兼容M1 版本的Inode的使用

2022-06-20 17:12:36 14111 19

原创 3、虚拟机栈

JVM虚拟机栈

2022-06-03 15:24:01 519

原创 2、程序计数器

JVM程序计数器

2022-06-03 13:53:16 2697

原创 1、JVM入门

JVM入门概述

2022-06-03 11:54:12 59

原创 17.Btree索引和B+tree索引

1、Btree结构BTree又叫多路平衡搜索树,一颗m叉的BTree特性如下:树中每个节点最多包含m个孩子。除根节点与叶子节点外,每个节点至少有[ceil(m/2)]个孩子。若根节点不是叶子节点,则至少有两个孩子。所有的叶子节点都在同一层。每个非叶子节点由n个key与n+1个指针组成,其中[ceil(m/2)-1] <= n <= m-1以5叉BTree为例,key的数量:公式推导[ceil(m/2)-1] <= n <= m-1。所以 2 <= n &lt

2022-05-19 20:01:31 497

原创 16.MySQL索引

1、索引的定义MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。如下面的示意图所示,假设我们采用二叉树来构建索引:左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址(注意逻辑上相邻的记录在磁盘上也并不是一定物理相邻的)。为了加快Col2的查找,可以维护一个右边所示的二叉查找树,每个

2022-05-19 19:58:20 79

原创 15.Linux系统下MySQL的启动

1、启动MySQL服务器service mysql start (启动MySQL服务)service mysql stop (关闭MySQL服务)service mysql status (查看MySQL服务状态)service mysql restart(重启MySQL服务)2、登录MySQLmysql 安装完成之后, 会自动生成一个随机的密码, 并且保存在一个密码文件中 : /root/.mysql_secretmysql -u root -p登录之后, 修改密码 :set pa

2022-05-19 18:19:22 4232

原创 FastJSON处理对象中属性值为空的数据

1、QuoteFieldNames ———- 输出key时是否使用双引号,默认为true 2、WriteMapNullValue ———- 是否输出值为null的字段,默认为false 3、WriteNullNumberAsZero ———- 数值字段如果为null,输出为0,而非null 4、WriteNullListAsEmpty ———- List字段如果为null,输出为[],而非null 5、WriteNullStringAsEmpty ———- 字符类型字段如果为null,输出为”“,而

2022-02-16 11:11:15 2610

原创 13、缓存

13.1、概念1.什么是缓存 【Cache】?存储在内存中的临时数据(redis的概念);将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发的性能问题;2.为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率;3.什么样的数据能够使用缓存?经常查询并且不经常修改的数据。【可以使用缓存】13.2、Mybatis缓存Mybatis包含一个非常强大的查询缓存特性,它可以非常方便

2021-09-16 10:17:54 198

原创 12、动态SQL

12.1、动态SQL什么是动态SQL:根据不同的条件生产不同的SQL语句(在之前做黑马旅游网项目的时候的多条件组合查询)在之前使用 JDBC 和Druid工具的时候,应该能体会到根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。如果之前用过 JSTL 或任何基于类 XML 语言的文本处理器,你对动态 SQL 元素可能会感觉似曾相识。12.2、if<!--根据传递的条件来查询-->

2021-09-16 10:16:24 99

原创 11、一对多的处理

在学习多对一的处理时,我们是站在学生的角度(多个学生对应一个老师)看待问题,但如果站在老师角度,就应该是一对多(一个老师对应多个学习)。Student Bean@Data@NoArgsConstructor@AllArgsConstructorpublic class Student { private int id; private String name; //学生需要关联一个老师 private int tid;}Teacher Bean@Datap

2021-09-09 15:32:18 116

原创 10、多对一处理

多个学生,对应一个老师对于学生而言,关联…多个学生,关联一个老师**【多对一】**对于老师而言,集合…一个老师,有多个学生**【一对多】**10.1、按照查询嵌套处理现在有一个需求,建立多个学生和老师间的关系,我们进行查询所有学生信息,包括学生的老师信息。Teacher Bean@Datapublic class Teacher { private int id; private String name;}Student Bean@Data@NoArgsCons..

2021-09-08 15:39:37 89

原创 9、Lombok

可学可不学,就是一个偷懒用的插件9.1、概述Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automa

2021-09-08 15:37:35 58

原创 8、使用注解开发

8.1、面向接口编程在以前我们学过面向对象编程,也学过接口,但是在真正的开发中,很多时候我们会选择面向接口编程。根本原因:解耦,可拓展,提高复用,分层开发中,上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性更好在一个面向对象的系统中,系统的各种功能是由于许许多多的不同对象协作完成。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也

2021-09-08 15:34:14 93

原创 7、Mybatis分页操作

7.1、使用limit实现分页Mapper接口/** * 分页查询 * @param map * @return */List<User> getUserByLimit(Map<String,Integer> map);UserMapper.xml<!--分页查询--><select id="getUserByLimit" parameterType="map" resultMap="UserMap"> select * from

2021-09-08 15:33:19 110

原创 6、Mybatis日志

6.1、日志工厂如果一个数据库操作出现了异常,我们需要排错。日志就是最好的助手!以前的排错方式:System.out.println(); debug现在:日志工厂Mybatis的配置 settings 给我们提供了一个 logImpl 设置,如下:设置名描述有效值默认值logImpl指定 MyBatis 所用日志的具体实现,未指定时将自动查找。SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOU

2021-09-08 15:32:07 122

原创 5、ResultMap结果集映射

在新建实体类时,前面我们要求实体类User的属性需与数据库表的字段相对应,但如果不对应会出现什么情况呢?public class User { private Integer id; //数据库字段id private String name; //数据库字段name private String psw; //数据库字段password (与数据库的属性psw不一致) //(此处省略getter setter) ...}执行以下代码:

2021-09-08 15:29:31 222

原创 4、生命周期和作用域

生命周期和作用域生命周期和作用域是至关重要的,因为错误的使用会导致非常严重的并发问题SqlSessionFactoryBuilder(建造工厂的工人):一旦创建了 SqlSessionFactory,就不再需要它了(工厂建出来了,工人的任务就完成了,不再需要工人)。由于用完就丢弃,因此它的最佳作用域是局部变量。SqlSessionFactory(工厂):说白了就可以想象为一个数据库连接池。SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重

2021-09-08 15:28:36 62

原创 3、配置解析

3.1、Mybatis核心配置文件(Mybatis-config.xml)MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置)

2021-09-08 15:10:37 118

原创 2、第一个Mybatis程序

思路:搭建环境–>导入Mybatis–>编写代码–>测试2.1、搭建环境搭建数据库CREATE TABLE user( id int not NULL PRIMARY KEY, name VARCHAR(30) DEFAULT null, password VARCHAR(30)) ENGINE = INNODB DEFAULT CHARSET=utf8;INSERT INTO user(`id`,`name`,`PASSWORD`) VALUES(1,'zhangsan

2021-09-08 14:52:12 82

原创 1、Mybatis简介

1.1、什么是MybatisMyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java Bean为数据库中的记录。1.2、如何获得MybatisMaven仓库: <dependency> <groupId>org.mybatis</groupId>

2021-09-08 14:40:21 58

空空如也

空空如也

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

TA关注的人

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