- 博客(25)
- 收藏
- 关注
原创 【2025版】Java 基础+进阶 面试题
/... }//...保存字符串的数组被 final 修饰且为私有的,并且String 类没有提供/暴露修改这个字符串的方法。String 类被 final 修饰导致其不能被继承,进而避免了子类破坏 String 不可变。Java 泛型是一种在编译时提供类型安全检查的机制,允许开发者编写更通用、可读且类型安全的代码。泛型的作用:类型安全:通过编译时检查,避免运行时类型转换错误(如 ClassCastException)。代码复用:编写可处理多种数据类型的通用代码(如集合框架 List)
2025-05-29 10:05:25
646
原创 【2025版】SpringCloud Gateway网关快速入门
主要是yml里的路由规则配置,这里只是简单演示,还有路由过滤器可以配置,需要用到的时候再找资料。向8090端口发送请求,最终也能正确路由到提供order-service的某个端口上。
2025-05-18 18:52:23
536
原创 【2025版】OpenFeign快速入门
有说在yml中配置的,这种方式会报找不到服务实例的错误,不是因为别的原因,就是加了这个配置的原因,因为把这个loadbalancer的配置去掉就不会报这个错误,一加上就报错。OpenFeign只会在FeignClient所在包的日志级别为DEBUG时,才会输出日志。再次请求,打个断点,可以看到delegate已经变成OkHttp的客户端。:在某个FeignClient中配置,只对当前FeignClient生效。Feign默认的日志级别就是NONE,所以默认我们看不到请求日志。
2025-05-18 18:22:19
364
原创 【2025版】Spring Boot面试题
SpringBootApplication是SpringBoot项目的核心注解,通常用于标记应用程序的主类(即包含main方法的类)。它的主要作用是一站式地启用SpringBoot的关键特性,简化项目的初始配置。继承自 @Configuration,标记当前类为配置类,允许通过 @Bean 注解定义和注册 Bean。启用 Spring Boot 的自动配置机制。
2025-05-14 18:43:17
1394
1
原创 Spring 事件监听机制的使用
事件可以是任意对象(Spring 4.2+支持POJO),或继承ApplicationEvent(旧版)。// 自定义事件(POJO形式,无需继承ApplicationEvent)
2025-05-14 18:08:11
291
原创 【2025版】MyBatis使用教程
使用Mybatis的注解方式,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,也就是将SQL语句写在XML配置文件中。但是如果全都没传数据,就会多个where出来,如果第一个没传数据,会多个and出来,使用。在xml映射文件中配置的SQL,有时可能会存在很多重复的片段,此时就会存在很多冗余的代码。XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。:动态的在SQL语句中插入set关键字,并会删掉额外的逗号。
2025-05-14 16:18:48
735
原创 【2025年】MySQL面试题总结
如果一个索引包含(或者说覆盖)所有需要查询的字段的值,我们就称之为 覆盖索引。覆盖索引即需要查询的字段正好是索引的字段,那么直接根据该索引,就可以查到数据了,而无需回表查询。在 InnoDB 存储引擎中,非主键索引的叶子节点包含的是主键的值。这意味着,当使用非主键索引进行查询时,数据库会先找到对应的主键值,然后再通过主键索引来定位和检索完整的行数据。这个过程被称为“回表”。MySQL的主从同步机制是一种数据复制技术,用于将主数据库(Master)上的数据同步到一个或多个从数据库(Slave)中。
2025-05-03 17:51:41
1034
原创 【2025版】2小时候学会MQ消息队列,全是干货
之前的队列和交换机,以及他们的绑定关系都是在控制台操作的,但是在实际开发时,队列和交换机是程序员定义的,将来项目上线,又要交给运维去创建。将来开发编程肯定不是在控制台这样手动操作的,是需要写在代码里面的,手动操作繁琐,容易出错,而且也不方便自动化执行,如果从研发环境转到生产环境,这些配置肯定不可能再手动点一遍配出来,如果能通过执行代码的方式把这些交换机、队列重新自动化的配置好,那肯定是更准确,更方便的。比如队列A绑定的路由键是"error",队列B绑定的路由键是"info"。
2025-04-19 17:29:15
1044
原创 一文学会Git代码版本控制
命令作用注意git -v查看 git 版本git init初始化 git 仓库git add 文件标识暂存某个文件文件标识以终端为起始的相对路径git add .暂存所有文件git commit -m '说明注释'提交产生版本记录每次提交,把暂存区内容快照一份git status查看文件状态 - 详细信息查看文件状态 - 简略信息第一列是暂存区状态,第二列是工作区状态查看暂存区文件列表git restore 文件标识从暂存区恢复到工作区。
2025-04-11 11:26:52
935
原创 Maven(基础+进阶)教程
Maven 是一个 基于项目对象模型(POM) 的 Java 项目构建和依赖管理工具,由 Apache 开发。它通过标准化的项目结构、自动化构建流程和强大的依赖管理机制,显著简化了 Java 项目的开发、测试、打包和部署过程。
2025-04-10 09:30:02
1032
原创 快速上手SpringBoot拦截器
拦截器(Interceptor) 是 Spring MVC 提供的一种机制,用于在 请求到达 Controller 前 或 响应返回客户端前 执行自定义逻辑。它类似于 Servlet 中的过滤器(Filter),但更深度集成到 Spring 框架中,可以直接访问 Spring 的上下文(如 Controller、Handler 信息)。默认情况下,拦截器的执行顺序由注册顺序决定。方法:按拦截器的 注册顺序 依次调用。方法:按拦截器的 注册顺序的逆序 调用。方法:按拦截器的 注册顺序的逆序 调用。
2025-03-26 10:59:44
388
原创 面试高频:SpringBoot中为何不推荐@Autowired注入
不使用@Autowired注入的原因与IoC容器强耦合使用 @Autowired 进行字段注入时,类会直接依赖 Spring 的特定注解和容器机制。这导致代码与 Spring 框架强耦合,脱离 Spring 容器后无法独立运行或测试。容易违反单一职责原则字段注入允许类中随意添加多个 @Autowired 依赖,可能导致类承担过多职责,违反单一职责原则(SRP)。构造函数参数列表过长时,会提醒开发者重构类职责(例如拆分到多个类中)。构造函数注入的优势。
2025-03-26 08:34:21
289
原创 一文带你理清SpringBoot如何实现多数据源动态路由【全干货,无废话】
annotation(dataSource)里的 dataSource 只要和 switchDataSource(JoinPoint joinPoint, DataSource dataSource)里的 dataSource 同名就行,不是只能叫dataSource。直到上一步,我们等于是做好了配置工作,规定好了路由规则,后面的工作还有确定什么时候触发路由,当然,在触发的时候要传递一些信息,路由规则根据接收到的信息应用规则,这个信息也就是注解的值,也就是说路由规则需要一个输入,才能决定路由结果。
2025-03-25 01:39:06
967
原创 一文搞懂Spring Boot处理跨域请求
跨域请求(Cross-Origin Request)是指在浏览器中,一个网页的 JavaScript 代码尝试向与当前网页不同源(Origin)的服务器发起 HTTP 请求。这里的“源”由协议(Protocol)、域名(Domain)和端口(Port)三部分组成。如果这三个部分中有任何一个不同,就被认为是跨域请求。一般我们遇到的跨域请求发生在前端服务器向后端服务器发送请求,前端和后端的端口号不同,产生了跨域问题跨域请求的起因是浏览器的同源策略。
2025-03-23 19:23:04
269
原创 【25年最新版】快速上手dubbo实现rpc远程过程调用
部分内容来自:https://bugstack.cn/md/road-map/dubbo.html。
2024-12-05 18:42:52
501
原创 【25年最新AOP入门】最干净省时的SpringBoot AOP入门教程,一小时带你学会面向切面编程怎么用
spring boot AOP最快入门教程,拒绝没用套话,只讲干货
2024-11-18 20:23:53
927
原创 JWT令牌快速入门
JWT 令牌,即 JSON Web Token,是一种用于在网络应用中传递安全信息的开放标准(RFC 7519)。在官网上粘贴我们得到的JWT令牌,解码验证自定义信息是否是刚刚设置的信息。头部(Header)
2024-11-18 18:26:55
185
原创 【25年最新版docker教程】2小时入门docker,全是干货,少走弯路,教会你最实用的docker技能
综上所述,这条命令的作用是在后台创建一个名为 mysql 的容器,将主机的 3306 端口映射到容器内的 3306 端口,设置容器内的时区为上海时区,并将 MySQL 数据库 root 用户的密码设置为 123,最后使用 mysql 镜像来启动容器并运行其中的 MySQL 服务。Docker 官方提供了一个公共的仓库 Docker Hub,里面包含了大量的官方镜像和社区贡献的镜像,开发者可以方便地从仓库中拉取所需的镜像,也可以将自己构建的镜像推送到仓库中供他人使用。
2024-11-18 13:56:12
5958
原创 【25年最新版】史上最快、最干净的内网穿透教程,再也不怕小伙伴们访问不到自己本地的应用啦
内网穿透,也称为 NAT穿透,是一种网络技术,用于实现在具有网络地址转换(NAT)的网络环境中,让位于不同局域网内的设备能够相互通信,就好像它们直接连接在同一个公共网络中一样。双击启动 natapp.exe,得到一个公网地址 http://fup5b6.natappfree.cc,这个公网地址就映射到本地ip的8855端口(创隧道时候设置的)主要配置好本地需要映射出去的端口就好,例如,我写了一个简单的后端程序,并启动在8855端口上,我在配置的时候本地端口就填8855。在官网上选择对应的客户端下载。
2024-11-15 17:03:11
689
原创 【25年最新版】一文带你搞懂JAVA反射机制,无压力入门JAVA反射
这个 Class 对象包含了与该类相关的各种元数据信息,如类的名称、属性、方法、构造函数、父类、接口等信息,它是 Java 反射机制的基础,反射机制就是通过获取和操作这个Class对象来实现对类的动态访问和操作。例如,对于一个名为Person的类,可以通过Person.class来获取其对应的Class对象,然后通过这个Class对象进一步获取Person类的属性、方法等信息,并可以创建Person类的实例、调用其方法等。假设我们想用被 private 修饰的构造函数创建对象,在获取构造器对象后,要设置。
2024-11-15 15:29:17
863
原创 25年最新无废话版JAVA注解入门
如下是一个简单的自定义注解,先了解语法,作用会在demo案例体现,注解一般和反射配合使用初看感觉语法有些奇怪,name 和 age像是属性,但又定义成了方法,很多文章中说当成属性来用,来看看把上面的代码编译成class文件再反编译之后,在编译器眼中的代码是什么样的其实定义注解是定义一个继承Annotation的接口,并且提供了name 和 age 两个抽象方法。
2024-11-15 12:57:37
411
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人