- 博客(480)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 框架源码学习收藏汇总
Springsecurity过滤器和方法拦截器 https://www.processon.com/view/link/61fe51221efad479c07aa7b7WebSecurity&HttpSecurity&AuthenticationManager三大构建者 https://www.processon.com/view/link/61ffe49f6376890390cf9e28SecurityConfigurer配置类继承体系(创建HttpSecurity) https://
2022-02-27 09:35:06
501
原创 spring获取方法参数名的方式
java接口编译成class文件后,默认不会保存方法的参数签名,jdk这么设计,因为接口的参数名称一般没有意义,但是现在的技术发展导致一些框架需要用到接口的参数名称。java类编译成class文件后,方法签名 和 参数 会保存在字节码文件中,通过一些字节码的解析框架可以获取方法的参数名称。场景:在springmvc中,可以通过请求参数绑定controller方法对应的方法参数名。在接口中,不管是spring通过字节码技术还是传统的反射方法都无法获取。先 clean 再 compiler。
2024-06-23 22:36:43
911
原创 redis持久化&主从&哨兵&分片集群
RDB方式bgsave的基本流程?fork主进程得到一个子进程,共享内存空间子进程读取内存数据并异步写入新的RDB文件用新RDB文件替换旧的RDB文件。RDB会在什么时候执行?save 60 1000代表什么含义?默认是服务停止时。代表60秒内至少执行1000次修改则触发RDBRDB的缺点?RDB执行间隔时间长,两次RDB之间写入数据有丢失的风险fork子进程、压缩、写出RDB文件都比较耗时简述全量同步和增量同步区别?
2024-06-23 17:24:58
714
原创 nacos注册中心&配置中心&集群搭建
国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。
2024-06-13 22:15:21
940
原创 SpringBoot+MyBatis批量插入数据的三种方式
在开发过程中,我们经常会遇到往数据库表中插入大量数据的场景,比如excel批量导入数据。那么该如何快速地插入数据呢?我们可以考虑使用批量插入来实现,实测100000条数据添加,后附具体实现代码。用一个 for 循环,把数据一条一条地插入。/*** 第一种方案,用 for语句循环插入 10万 条数据*/i < count;i++) {user.setName("方案1测试" + i);user.setGender("男");user.setUsername("方案1测试");
2024-06-12 18:23:20
1354
1
原创 DefaultTokenServices源码
DefaultTokenServices是掌握spring security oauth2 颁发令牌的重要实现,它有着`发放令牌`,`存储令牌`,`令牌校验`,`令牌撤销`等功能;DefaultTokenServices实现了3个接口:AuthorizationServerTokenServices、`ResourceServerTokenServices`、`ConsumerTokenServices`
2024-06-09 17:34:15
286
原创 JwtAccessConverter&JwtTokenStore&jdbc建表结构
可参考:https://www.cnblogs.com/hellxz/p/12044340.html。下载对应的openssl版本,只需要一直点下一步即可,安装完毕后,将它的bin目录配置到环境变量。在my-auth.jks同目录下,执行命令导出公钥,需要输入口令:123456。使用jwt(非对称加密)
2024-06-07 15:47:40
382
原创 @EnableResourceServer资源服务注解源码分析
@EnableResourceServer用于开启资源服务器,它使用@Import注解引入了`ResourceServerConfiguration`
2024-06-06 20:03:23
453
原创 @EnableAuthorizationServer授权服务注解源码分析
EnableAuthorizationServer用于开启授权服务器,它使用@Import注解引入了如下2个配置类:授权服务器安全配置类授权服务器端点配置类。
2024-06-04 21:35:11
614
原创 Spring All系列教程学习下
中Spring系列源码,包含Spring Boot、Spring Boot & Shiro、Spring Cloud,Spring Boot & Spring Security & Spring Security OAuth2,如果该系列教程对您有帮助的话,还请点个star给予精神支持!
2024-06-03 22:32:19
995
原创 Security OAuth2 SSO单点登录源码剖析(二)
文章目录单点登录简介SSO客户端@EnableSSO注解@EnableOAuth2Client注解OAuth2SsoDefaultConfigurationOAuth2SsoCustomConfigurationResourceServerTokenServicesConfiguration过滤器OAuth2ClientContextFilterOAuth2ClientAuthenticationProcessingFilterSSO服务端单点登录简介SSO客户端@EnableSSO注解@Enabl
2024-05-26 20:48:29
258
原创 Gitee好用的浏览器插件【GiteeTree】
使用gitee的时候,可能拉到别人的项目后,只是想看下某些文件的代码,但是不得不全部都拉下来,每次点又很麻烦。这个插件【GiteeTree】就很好用了,只需要搜索GiteeTree,然后把插件下载下来。
2024-05-25 16:28:47
282
原创 Security OAuth2 SSO单点登录(一)
文章目录学习链接auth-server引入依赖application.ymlAuthServerConfigSecurityConfigUserControllerlogin.htmlclient1引入依赖application.yml配置文件SecurityConfigClient1ApplicationHaloControllerindex.htmlclient2引入依赖application.yml配置文件SecurityConfigClient2ApplicationHaloControllerin
2024-05-20 22:13:20
1079
原创 Spring Security整合Gitee第三方登录
当前==我们系统是有自己的一套用户体系==的,在前面通过security搭建了1个非常简单的登录示例。可是,用户要登录我们的系统,需要先注册账号,然后填写一大堆表单,包括:用户名、密码、验证码、性别、年龄、上传头像、绑定邮箱、绑定手机号等等一大堆,这就增加了用户使用我们系统的成本。因此可以使用比较可靠的第三方系统的用户身份登录我们的系统,但==用户仍然是第三方系统的用户==,==只是用户可以授权他在第三方系统的权限给我们系统,让我们系统可以访问这个用户在第三方系统中的用户信息、用户资源等==。这样用
2024-05-19 14:53:10
1056
原创 webrtcP2P音视频通话(二)
文章目录webrtc实现视频会议示例客户端代码client.html服务端代码SignalWsServerWsConfig效果webrtc实现视频会议学习链接:webrtc实现视频会议,web多人视频通话,websocket通信,全部的代码:包括java的后端,vue的webrtc客户端前端代码,放在了微信收藏中vite配置https、nginx配置ssl、openssl本地搭建示例客户端代码client.html<!DOCTYPE html><html lang="en
2024-04-27 16:48:43
596
原创 ByteToMessageDecoder&MessageToMessageDecoder&MessageToByteEncoder&MessageToMessageEncoder
ByteToMessageDecoder、MessageToMessageDecoder、MessageToByteEncoder、MessageToMessageEncoder
2024-04-20 20:23:51
271
原创 slice/retainedSlice/readRetainedSlice
【代码】slice/retainedSlice/readRetainedSlice。
2024-04-17 22:58:42
165
原创 kafka学习记录
在local文件夹下创建data目录,然后修改local下的config目录下的zookeeper.properties文件。编写zk.cmd和kafka.cmd,然后就可以双击启动zookeeper和kafka了。修改config目录中的server.properties文件。将文件夹名改为local。启动zookeeper。
2024-04-13 10:22:06
1529
原创 netty实现mqtt(IOT)
springboot+netty+mqtt服务端实现springboot+netty+mqtt客户端实现IOT云平台 simple(6)springboot netty实现IOT云平台基本的架构(mqtt、Rabbitmq)Springboot结合Netty对接硬件,实现主动发送报文和接受硬件报文(ModbusRTU或者TCP以及DTU)
2024-04-11 22:18:15
781
原创 im-system 第十一章
需求一:需要实时的更新好友的状态,有一个标识可以辨别在线和离线,在线和离线可以实时得到感知,手动修改忙碌啥的状态可以实时通知到好友需求二:打开群组等,可以获取到这一批人的在线状态,在线的会有一个在线的标识,和好友一样可以实时感知到用户下线了,可以实时的将在线修改为离线。
2024-04-05 21:43:13
275
原创 im-system 第九章(下)
读扩散:举一个微博大V的例子,如果大V发一条消息,那么关注了大V的用户,就会从大V的队列中倒序拉取就可以获取到大V的消息了写扩散:也举一个微博大V的例子,如果大V发一条消息,每个用户都有自己的一个队列,大V会将消息写到所有订阅他的用户的队列中
2024-03-30 11:12:52
211
原创 im-system 第九章(上)
逻辑层需要接收到im tcp接入层发送过来的消息,逻辑层监听使用ChatOperateReceiver,tcp层收到来自sdk的消息后,将消息发送到mq,逻辑层接收到该消息。
2024-03-27 22:33:04
222
原创 ByteToMessageDecoder & 简单实现netty文件传输
但是,注意:HeadContext中读取的数据可能包含了完整消息,也可能包含不完整的消息,这是不确定的,由底层网络传输决定,我们要做的就是区分出消息边界,然后将完整的消息交给后面的入站处理器,不然的话,入站处理器后面的业务拿到的不是1个完整的消息,就会出问题。而ByteToMessageDecoder就是其中1个比较重要的解码器,也叫一次解码器。因为tcp协议将数据以流的方式传输,但这样就需要自己在应用层手动解决字节数据边界的问题,即拆包和粘包的问题。将流式数据按照商定的协议规则区分的1个完整数据称为。
2024-03-17 20:47:42
707
原创 telnet命令使用
启动netty服务端后,使用如下cmd命令连接服务端,按enter,将连接到netty服务端。发送消息,再断开连接,再退出,netty服务端都能正常响应。
2024-03-17 10:19:28
446
原创 OGNL表达式
OGNL(Object-Graph Navigation Language的简称),对象图导航语言,通过表达式来实现:许多常用框架都集成了ognl,如mybatis、struts、spring、arthas等。这里仅以java环境下的代码进行演示。
2024-03-12 22:32:09
936
原创 Spring EL表达式官方文档学习
SpEL(Spring Expression Language)是Spring框架中用于表达式语言的一种方式。它类似于其他编程语言中的表达式语言,用于在运行时计算值或执行特定任务。SpEL提供了一种简单且强大的方式来访问和操作对象的属性、调用对象的方法,以及实现运算、条件判断等操作。它可以被用于XML和注解配置中,可以用于许多Spring框架中的特性,如依赖注入、AOP、配置文件等。SpEL表达式可以在字符串中进行定义,使用特殊的语法和符号来表示特定的操作。
2024-03-03 10:43:47
1574
1
原创 Spring Cloud OpenFeign官方文档学习
Feign是一个声明式的web服务客户端,让编写web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡(也可以配合Spring Cloud CircuitBreaker、Spring Cloud LoadBalancer一起使用)。
2024-02-25 20:35:39
1356
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人