- 博客(39)
- 收藏
- 关注
原创 一个关于@JsonIgnore的isxxx()问题
尝试重写getSuccess()和setSuccess()方法,并在方法上面加上@JsonIgnore注解时得到的效果和加在isSuccess()上面的方法一致,初步判断@JsonIgnore会将isxxx()类型的方法转换为get或者set,这不符合逻辑呢,或者是一个bug。如上代码中,将注解@JsonIgnore作用在isSuccess()方法上时,会导致前端数据返回时不显示success属性,如下图所示。一个关于@JsonIgnore的问题。
2024-10-26 18:53:38 268
原创 security密码明文处理
引言:在引入未给定初始化mysql数据springboot项目时,由于项目通过security对密码进行了加密,无法进行登录操作,提供的一种解决方法。3、注释掉引入的WebSecurityConfig引入的加密bean。5、在数据库创建新的用户数据,进行用户登录。2、注入 PasswordEncoder。4、自定义加密bean,将其设置为明文。security密码明文显示。1、注释掉注入的加密类。
2024-07-03 01:36:56 238
原创 ubuntu重装mysql8
ubuntu系统在安装mysql8时,如果在mysql初始化时未进行系统大小写忽略(lower_case_table_names=1),安装成功后,无法直接在my.cnf中直接修改大小写的值,需要重装mysql。
2024-04-01 17:38:59 528
原创 axios向后端传值为空
当使用postman进行from-data传值时可以正常返回,观察后端发送消息头(如下)表明像后端传值并非是以表单形式。在进行axios向后端传值时报该错误,表示后端获取前端传过来的值为空。2.使用qs将json数据转化为表单数据,后端将获取数据。
2023-06-17 19:33:21 505
原创 debian11系统数据库连接本地sqlyog
所以在远程搭建的服务器如果要进行数据库的操作需要连接到本地服务器进行sql的录入,但远程数据库默认是无法通过本地访问的,所以我们需要打开数据库的操作权限。在远程MariaDB数据库连接本地SQLyog客户端是会报无法连接错误。本地访问远程数据库的配置(debian11远程服务器)1.在数据库中添加新的用户将其服务最大权限。5.再次通过本地sqlyog连接。3.注释掉本地绑定地址。
2023-05-27 17:00:14 234
原创 rabbitmq中getCorrelationId()为null
在rabbitmq中执行 message.getMessageProperties().getCorrelationId()时值为空,其原因为rabbitmq的版本问题,要解决这个问题需要在消息发送方使用如下方式。
2023-04-13 19:16:21 525
原创 hashmap源码
hashmap的数据结构包括了初始数组,链表,红黑树数组容量是2的倍数:提高运算速度,增加散列度,降低冲突,减少内存碎片hash函数与pos定位:hashcode的高16位与低16位进行异或求模,增加了散列度降低了冲突插入冲突:通过单链表解决冲突,如果链表长度超过(TREEIFY_THRESHOLD=8),进行单链表和红黑树的转换以提高查询速度扩容:扩容的条件:实际节点数大于等于容量的四分之三;扩容后数据排布:要么是原下标的位置;要么是原下标+原容量的位置。
2023-04-10 19:18:54 380
原创 java HttpClientConnectionManager连接异常
java HttpClientConnectionManager连接异常。
2023-04-09 18:48:32 746
原创 springboot访问后端静态资源404
默认情况下,MyBatis 会将实体类的属性名转换为小写,并将驼峰命名法转换为下划线命名法,然后与数据库表的列名进行匹配。是 MyBatis 中的一个注解,用于标识实体类中的属性作为表的主键。在 MyBatis 中,如果您要使用。的属性,那么 MyBatis 默认会将它映射为数据库表中的。2.其次可能你书写的路径不属于默认访问路径。注解来标识主键属性,还需要使用。注解来指定主键的生成方式。的实体类,它有一个名为。
2023-04-01 17:44:48 2185
原创 java反射获取mapper
*注:**java的继承并不是要创建父类对象,在进行子类创建的时候只是调用了父类中的构造方式初始化了父类中的属性供子类调用,从内存数据来看,父类的私有且非静态的数据的确在子类的对象中。在字节码中子类会有个u2类型的父类索引,属于CONSTANT_Class_info类型,通过CONSTANT_Class_info的描述可以找到CONSTANT_Utf8_info,然后可以找到指定的父类。super是为了显式调用子类对象实例中父类的这部分代码。mall项目反射获取mapper。
2023-03-22 15:48:15 1176
原创 spring源码
prepareRefresh() beanFactory的准备工作对各种属性进行填充扩展实现自定义的属性编辑器spring观察者模式:事件(被观察者具体要执行的动作),监听器(观察者可能存在多个接受不同的事件来做不同的处理工作),多播器(被观察者遍历观测者通知消息的操作拿出来委托给一个多播器来进行消息通知,或者通过观察者进行不同的操作),事件源(谁来调用或执行发布具体的事件)
2023-03-12 14:40:36 138
原创 java代理学习
基于接口的动态代理,实际上是在内存中生成了一个对象,该对象实现了指定的目标类对象拥有的接口,所以代理类和目标类对象是兄弟关系。
2022-11-26 15:14:43 4706 1
原创 netty同步非阻塞笔记
*概述:**Netty是由JBOSS提供的一个java开源框架,Netty提供异步的,基于事件驱动的网络应用程序框架,可以快速开发高性能,高可靠性的网络IO程序基于传统阻塞I/O服务模型的缺点的解决方案基于I/O复用模型:对个连接共用一个阻塞对象,应用程序只需要在一个阻塞对象等待,无需阻塞等待所有连接,当某个连接有新的数据可以处理时,操作系统通知应用程序,线程从阻塞状态返回,开始进行业务处理。
2022-11-18 15:56:48 1006
原创 netty与浏览器实现长连接
/客户端收到服务器端发送的消息,onmessage被调用,相当于服务端的channelRead0方法。如果无法连接,请换端口号重新启动,因为端口被其他占用导致连接异常:例如 6666 端口我就连接失败。//这个就是我们在服务端设置的请求路径。"浏览器不支持WebSocket!//连接建立成功,onopen回调。//连接被关闭,onclose回调。
2022-11-17 15:58:24 457
原创 juc并发编程
一种抽象的概念模型,并不是真实存在,它仅仅是一组约定或规范,通过这组规范定义了程序中各个变量的读写访问方式并决定一个线程对共享变量的写入何时以及如何变成对另一个线程可见,关键技术都是围绕多线程的原子性,可见性和有序性展开JMM作用:1.实现线程和主内存之间的抽象关系,2.屏蔽各个硬件平台和操作系统的内存访问差异以实现让java程序在各种平台上都能达到一致的内存访问效果。
2022-11-06 20:43:30 451
原创 java volatile
多线程下的变量不可见性:多个线程修改共享的成员变量,会出现一个线程修改了共享的变量值以后,另一个线程不能直接看到该线程修改后的变量的最新值volatile不保证原子性(原子性指在一次操作或者多次操作中,要么所有的操作全部得到了执行并且不会受到任何因素的干扰而中断,要么所有的操作都不执行)指令禁止重排序:volatile可以防止重排序操作重排序:为了提高性能编译器和处理器常常会对既定的代码执行顺序进行指令从排序。
2022-11-02 15:44:52 835
原创 自定义spi
自定义spi使用到的是java.util.ServiceLoader,该类加载接口实现类的子方法但在加载前需将实现类的全路径放在资源文件路径下的 META-INF/services/IMyServiceLoader (接口名)文件中 然后将实现类的全路径名称写入该txt文件 com.w.IMyServiceLoader。
2022-10-25 20:46:57 812
原创 springboot异常处理
自定义 HandlerExceptionResolver 类处理异常: 在全局异常处理类中实现HandlerExceptionResolver 接口。@ControllerAdvice+@ExceptionHandler 注解处理异常:创建异常处理的全局类进行相应异常的全局处理。springboot默认异常处理机制,在发生运行时异常时默认去找模板目录下的error.html。@ExceptionHandle 注解处理异常,将注解标记在某方法上当发生该类异常时执行该方法。
2022-09-16 14:23:47 1320
原创 spring总结
spring总结IoC,是 Inversion of Control 的缩写,即控制反转。在 Spring 中,有两种 IoC 容器: 和 。基于 xml 配置:Spring 的传统配置方式。在 标签中配置元数据内容。缺点是当 JavaBean 过多时,产生的配置文件足以让你眼花缭乱。基于注解配置:Spring2.5 引入。可以大大简化你的配置。基于 Java 配置:可以使用 Java 类来定义 JavaBean 。为了使用这个新特性,需要用到 、 、 和 注解。Aware系列接口回调singleto
2022-09-13 21:01:00 217
原创 k8s安装部署
k8s部署k8s删除操作:yum -y remove kubelet kubeadm kubectlsudo kubeadm reset -fsudo rm -rvf $HOME/.kubesudo rm -rvf ~/.kube/sudo rm -rvf /etc/kubernetes/sudo rm -rvf /etc/systemd/system/kubelet.service.dsudo rm -rvf /etc/systemd/system/kubelet.servicesudo
2022-05-29 15:33:40 2951
原创 redis笔记
redis概述概念redis一个开源的key-value存储系统和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redi
2022-04-13 15:38:08 799
原创 spring笔记
spring概述在pom文件中是使用resource标签可以修改资源路径不用再默认的resource文件夹下 <resources> <resource><directory>src/resources/</directory> <includes> <include>*.xml</include> </includes>
2022-03-27 14:35:01 207
原创 thread笔记
thread1.自定义线程与守护线程的区别自定义线程在主线程停止后不会停止,守护线程会通过 thread.setDaemon(true)可以将自定义线程转化为守护线程(在没有用户线程全都是守护线程时jvm停止运行)Lock接口:synchronized关键字(自动上锁,与解锁):同步锁可以修饰代码块,方法(被修饰的方法被称为同步方法)、静态方法,类多线程编程步骤:1.创建资源类,在资源类中创建属性和方法2.创建多个线程,调用资源类中的操作方法3.lock接口,要手动实现上锁与解锁:{可
2022-03-23 13:06:52 616
原创 设计模式笔记
设计模式创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式、访问者模式。观察者模式定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。对于JDK或者Andorid中都有很多地方实现了观察者模式,比如XXXView.addX
2022-03-23 12:20:50 199
原创 51单片机概述
51概述alldatasheet.com 数据手册查询网址上拉电阻:就是将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流的作用,下拉同理,也就是将不确定的信号通过一个电阻钳位在低电平当P0口作为输入/输出口时,上电复位后处于开漏模式p0口内无上拉电阻,所以做I/O口必须外接10k-4.7k的上拉电阻[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8PIQZW8Z-1647928172537)(image/55DF3E4D5C91EF85EFCEBB7FA07ACB
2022-03-22 13:51:42 1587
原创 security
spring security基本原理spring security本质是过滤器链FilterSecurityInterceptor:是一个方法级的过滤器基于过滤链的最底部ExceptionTranslationFilter:异常过滤器,用来处理在认证授权过程中抛出的异常usernamePasswordAuthenticationFliter:对login的post方法请求做拦截没校验表单中的用户名,密码springSecurity:如何加载的:springboot直接封装了security的配
2022-03-21 17:18:38 1428
原创 docker创建mysql连接到主机
docker创建mysql连接到主机步骤:进入mysql容器:docker exec -it 容器id /bin/bash (退出:extc)mysql -uroot -p,回车输入密码进入mysql操作2、看当前所有数据库:show databases;3、进入mysql数据库:use mysql;4、查看mysql数据库中所有的表:show tables;5、查看user表中的数据:select Host, User from user;6、修改user表中的Host: u
2022-02-21 11:05:56 751
原创 2021-08-26
致敬于挫折中升华者今天开始我的程序员博客生涯了,以此来记录我接下来的岁月时光。我之前学了Java、ssm、springboot,springcloud,linux,网络安全等相关内容,但由于技术的欠缺现在处于学了很多但并没有什么卵用的状态,由于看了程序员小河网站被攻击事件,内心感触十分深刻,落后就要挨打,强悍的技术真的十分重要。往事不堪回首。……以下省略一万字往事内容!!!……过去一年很多疑问都是百度搜索csdn为我解答的,虽然有点坑!但我还是很高兴加入了其中。接下来的岁月我将会在这个平台
2021-08-26 09:02:45 154
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人