自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java8使用stream流实现树形菜单

【代码】java8使用stream流实现树形菜单。

2024-08-16 09:45:50 270

原创 fegin返回参数统一处理

添加feign拦截器,实现请求头上下文传递。若DTO中涉及LocalDateTime。对feign返回结果统一处理。服务controller接口。

2024-06-22 10:39:15 420 1

原创 Spring Security

目前认证:用户名user,密码是默认生成的期望:去数据库查这个界面点击登录,最终spring security框架会按照ReactiveUserDetailservice组件,按照表单提交的用户名,去数据库查询用户详情基本信息:账号密码,角色,权限把数据库中返回的用户详情中密码和表单提交的密码进行比较比较成功则登录成功原始sql配置认证规则:如何去数据库中查询用户配置默认密码加密器@Autowired@Bean//1.定义哪些请求需要认证,哪些请求不需要。

2024-01-21 09:48:31 1002 1

原创 R2DBC-响应式数据库

r2dbcEntityTemplate:操作数据库的响应式客户端,提供crud Api数据类型映射关系,转换器。spring data 提供了基础的crud接口,不用写任何实现的情况下,可以直接具有crud功能。1.导入驱动:导入连接池(r2dbc-pool),导入驱动(r2dbc-mysql)3.多表查询复杂结果集合:DatabaseClient自定义sql,自定义结果封装。Converter:把数据库每一行row,转换成book。数据类型 int -> integer;

2024-01-20 11:13:09 3937

原创 docker-compose安装redis

2.切换到conf目录下,从网上下载redis配置文件。4.编写docker-compose.yml文件。1.创建目录,并赋予权限。

2024-01-15 22:30:09 644

原创 docker-compose安装单节点nacos

3.切换到nacos目录下,执行docker-compose.yml脚本。2.创建docker-compose.yml文件。5.将容器中sql文件复制到宿主机中。备注:将容器中的文件复制到宿主机。将容器中sql文件复制到宿主机中。复制sql文件,并执行sql语句。基于nacos 2.2.3安装。退出容器,复制sql文件。1.宿主机创建映射目录。进入容器,查看日志文件。退出容器,返回宿主机。

2024-01-14 12:23:34 612

原创 WebFlux

底层基于netty实现的web容器与请求/响应处理机制引入依赖pom.xml父依赖</</</</子模块:webflux</</</响应式流程:背压模式dao(数据源查询对象:数据包发布者)–>service–>controller–>浏览器Context响应式上下文数据传递:由下游传递给上游大数据流程:从一个数据源拿到大量数据进行分析计算.map().filter().handler()//加载最新的商品浏览数据。

2024-01-14 11:58:40 910

原创 Reactor核心

doOnNext():每个数据(流的数据)到达时触发doOnEach():每个元素(流的数据和信号)到达时候触发doOnRequest():消费者请求流元素的时候doOnError():流发生错误时doOnSubscribe():流被订阅时doOnTerminal():发送取消/异常信号中断流doOnCancel():流被取消doOnDiscard():流中元素被忽略时流的生命周期钩子可以传播给订阅者doOnXxx:发生这个事件的时候产生一个回调,通知你(不能改变)

2024-01-13 18:36:24 1295 2

原创 Reactive-Stream

1.底层:基于数据缓冲队列+消息驱动模型+异步回调机制2.编码:流式编程+链式调用+声明式Api3.效果:优雅全异步+消息实时处理+高吞吐量+占用少量资源。

2024-01-07 09:36:52 1130 1

原创 java中stream流使用

FuncationalInterface:检查注解,检查写的接口是否是函数式接口。taskWhile:满足条件,拿到这个元素/当不满足条件,直接结束流操作。流的所有所有状态都是无状态,数据状态仅在此函数内有效,不溢出至函数外。函数式接口:只包含一个抽象方法接口,是支持lambda表达式基础。filter:过滤出想要的值,如果断言返回true,就是需要的值。中间操作(filter,map,flatMap)->新流->参数类型可以不写,只写(参数名…peek:将所有元素查看一遍,没有返回值,流不会更改。

2024-01-06 11:22:58 383 1

原创 mysql索引优化

1.帮助mysql高效获取数据的数据结构2.在存储数据之外,数据库系统中还维护着满足条特定查找算法的数据结构,这些数据结构以某种引用指向表中数据这样就可以通过数据结构上实现的高级查找算法来快速找到数据这种数据结构就是索引3.总结:排好序的可以快速查找数据的数据结构查询的类型1.SIMPLE:简单的SELECT查询,查询中不包含子查询或者UNION2.PRIMARY:查询中若包含任何复杂的子部分,最外层查询则被标记成PRIMARY。

2024-01-02 21:49:43 851

原创 springboot3监控-actuator

实现HealthIndicator接口,并将该实现类注册为bean实现其中health()方法,返回自定义的健康响应状态信息响应信息包括:状态码和要展示的详细信息@Component@Override除了springboot定义的几个状态类型,自己也可以自定义状态类型表示新的系统状态需要实现接口HealthAggregator或通过配置management.health.status.order来继续使用HealthAggregator的默认实现。

2023-12-31 15:57:43 1359 1

原创 apache dubbo核心源码分析

dubbo版本:2.7.5dubbo源码下载地址自适应扩展点:指定名称扩展点:激活扩展点:Java spi实现Service Provider Interfacejdk内置的一种服务提供发现机制作用:服务的扩展实现例如:数据库连接jdk提供了java.sql.Driver接口这个驱动类在jdk中没有实现,由不同数据库厂商实现约定: 所有扩展点必须放在resources/META-INF/services目录下SPI机制会扫描这个路径下的属性文件以完成加载没有使用JDK内置的SPI机

2023-12-25 21:56:43 913

原创 dubbo高级教程

默认情况下,写入注册中心的ip地址,优先选择环境变量中DUBBO_IP_TO_REGISTRY属性配置的ip地址,在这个属性没有配置的情况下,才会选择前面获取的ip地址写入注册中心。2.查找dubbo.protocol.host属性配置的ip地址,默认是空,如果没有配置或者ip地址不合法,1.Failover Cluster:失败自动切换,服务调用失败后,会切换到集群中其他机器进行重试,dubbo服务对外发布的ip地址,默认情况下,dubbo按照以下顺序查找并绑定主机ip地址。

2023-12-22 21:58:03 797

原创 zookeeper和dubbo入门教程

当/lock节点被删除之后,zookeeper服务器再次通知所有监听了/Exclusive_Locks子节点变化的客户端,客户端收到通知后,再次发起创建/lock节点的操作来获得排他锁。/dubbo/com.zyl.provider.service.IProviderService/providers(发布服务接口全路径名称)/dubbo/com.zyl.provider.IPoroviderService/providers节点下的子节点注册Watcher监听。

2023-12-21 00:06:55 1009

原创 docker安装单机版zookeeper

3.在zookeeper目录下创建docker-compose.yml文件。4.添加zookeeper配置文件在conf目录下。5.指定docker-compose.yml文件。注意: #后的主食不要粘贴,否则会出现如下错误。数据挂载目录,配置挂载目录,日志挂载目录。zookeeper版本:3.5.6。6.进入容器内部,验证容器状态。

2023-12-17 10:29:48 368 1

原创 docker-compose安装mysql

2.在mysql目录下,创建docker-compose.yml文件。这样允许mysql监听所有可用的ip地址,即允许远程访问。如果只允许指定ip地址的主机连接,将%替换成ip地址。3.docker-compose.yml中写入内容。%表示允许任何地址的主机连接到mysql服务器。1.创建mysql数据挂载配置目录。-it 执行容器内部支持的命令。6.容器内创建mysql用户。在my.cnf中添加配置。5.进入mysql容器。my.cnf文件内容。5.设置允许远程访问。

2023-12-16 17:46:05 165

原创 dubbo基本应用

dubbo:service 描述需要发布的服务接口,这个接口可供本网络上其他进程访问 interface表示定义的接口,ref表示这个接口的实现。user-api:当前服务对外提供的接口 ,会部署到maven的远程私服上,便于服务提供者依赖。注意:user-provider需要用到user-api中定义的IUserSerive接口。官方还提供dubo-spring-boot-actuator,实现dubbo服务健康检查。user-provider: 针对这个接口实现,会独立部署在服务器上。

2023-12-13 23:03:08 75 1

原创 详解maven解决依赖问题

例如:只引入spring-web依赖,而spring-web又依赖spring-beans,spring-core-spring-jci。对于编译源码,编译测试代码,测试,运行4中classpath都有效,例如:spring-web。maven用到classpath的地方:编译源码,编译测试代码,运行测试代码,运行项目。运行时依赖范围,编译测试,运行测试,运行项目的classpath有效,编译主代码无效。上面的需求:编译,测试,运行时需要的classpath对应的值可能是不一样的。

2023-12-12 21:56:00 186

原创 Sentinel限流熔断入门

还可以通过返回布尔值的方式来定义资源@Overridetry {//被保护的业务逻辑}finally {}else {System.out.println("资源访问被限制");注意:资源使用完成之后,要调用Sph0.exit()否则会导致调用链记录异常,抛出EooroEntryFreeException异常还可以使用注解@SentinelResource定义资源@Override。

2023-12-10 16:35:49 78

原创 浅析springboot

pom.xml</</</</controller@Autowiredapplication.yml中配置RedissonProperties属性。

2023-12-03 19:45:02 42 1

原创 nginx教程:安装/简单使用

最后根据upstream中的配置信息,将请求准法到运行web服务的机器处理,由于配置了多个web服务,且配置了权重值,因此nginx会依次根据权重比例分发请求。nginx首先会根据配置的location规则进行匹配,根据客户端的请求路径/ ,会定位到location /{}规则。然后根据该location中配置的proxy_pass会再找到nginx_boot的upstream。nginx监听80端口,最终该请求会找到nginx进程。5.进入nginx解压目录,执行nginx的配置脚本。

2023-11-25 09:05:31 65

原创 Mac使用jmeter

默认你已经配置jdk。

2023-11-13 22:42:18 149

原创 mybatisPlus代码生成器

mybatisPlus代码生成器

2022-04-16 18:48:41 172

原创 springboot+dubbo+mybatisPlus分页查询

springboot+dubbo+mybatisPlus分页查询

2022-02-17 08:06:14 314

原创 Windows安装jdk11

Windows安装jdk111.下载jdk11下载链接2.无脑安装3.配置环境变量3.1右键此电脑,点击属性3.2点击高级系统设置3.3点击高级=>环境变量3.4系统变量下=>新建环境变量变量名:JAVA_HOME(名称可以任意)变量值:Java安装的位置3.5找到path=>编辑3.6点击新建输入:%JAVA_HOME%\bin=>确定4.验证java版本java -version...

2021-10-19 20:44:24 92

原创 Mac下配置Maven

Mac下配置Maven默认已配好jdk1.下载 maven下载链接:link下载次版本:2.拷贝到电脑的任意路径:建议更改下载的文件的名称为maven3.在电脑的启动台中找到终端并打开vi ~/.bash_profile若出现该页面,回车输入‘E’,进入编辑页面export M_HOME=/Users/yuelong/mavenexport PATH=$PATH:$M_HOME/bin M_HOME名称可任意替换,但要见名知意不建议替换M_HOME 的路径为步骤2中拷贝

2021-09-15 10:19:57 104

空空如也

空空如也

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

TA关注的人

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