Java
文章平均质量分 86
嫣夜来
这个作者很懒,什么都没留下…
展开
-
SpringBoot+Prometheus+Grafana搭建应用监控系统
springboot 2.X 中引入了 micrometer,它可以更方便的对接各种监控系统,包括 Prometheus。原创 2024-01-09 17:48:01 · 984 阅读 · 0 评论 -
SeaTunnel及SeaTunnel Web部署指南(小白版)
现在你能搜索到的SeaTunnel的安装。部署基本都有坑,官网的文档也是见到到相当于没有,基本很难找到一个适合新手小白第一次上手就能成功安装部署的版本,于是就有了这个部署指南的分享,小主已经把可能遇到的坑都填过了,希望大家都能安安稳稳上路,不掉坑,话不多说,走起~原创 2023-11-23 13:00:39 · 14340 阅读 · 77 评论 -
Mybatis框架源码笔记(十)之Mybatis中的设计模式
有可能只是简单查询, 有可能是批量处理操作, 有可能是可重复使用的操作, 这里我们可以通过模板方法结合策略模式来实现不同的处理逻辑对应处理不同的业务请求类型来实现应用的拓展。这里用BaseExecutor类中的模板方法来说明一下, BaseExecutor方法中定义了SQL的查询和修改的模板方法, 并且在其他当前类中进行了调用, 但是BaseExecutor中没有进行实现,已经详细讲过, 这里不再进行赘述,Mybatis在实现缓存架构的时候使用了装饰者模式, 通过包装和组合的方式实现了强大的缓存功能。原创 2023-04-08 17:48:26 · 619 阅读 · 0 评论 -
Mybatis框架源码笔记(九)之反射工具类解析
反射在java项目的实践应用中是非常重要的,必须熟练掌握,很多成熟的开源框架中都已经封装了很多非常好的反射工具,我们在进行源码阅读时,可以将这些精华的部分进行搜集整理应用到自己的项目中,只看是学不会的,编程这个东西还是更注重实践,实践的多了,自然你就会自主的去学习和思考了。ObjectWrapper 是对对象的包装的接口,抽象了对象的字段信息、 getter| setter 方法、和上面三个成员的数据类型,它定义了一系列查询对象属性信息的方法,以及更新属性的方法。原创 2023-04-03 13:26:11 · 635 阅读 · 1 评论 -
Mybatis框架源码笔记(八)之Plugin插件原理解析
引用一段官网的译文MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。这些类中方法的细节可以通过查看每个方法的签名来发现,或者直接查看 MyBatis 发行包中的源代码。如果你想做的不仅仅是监控方法的调用,那么你最好相当了解要重写的方法的行为。因为在试图修改或重写已有方法的行为时,很可能会破坏MyBatis 的核心模块。这些都是更底层的类和方法,所以使用插件的时候要特别当心。自定义插件的实现步骤大致如下:实现Mybatis框架的Interceptor接口。原创 2023-03-15 16:42:18 · 595 阅读 · 1 评论 -
Mybatis框架源码笔记(七)之Mybatis中类型转换模块(TypeHandler)解析
你可以重写已有的类型处理器或创建你自己的类型处理器来处理不支持的或非标准的类型。具体做法为:实现 org.apache.ibatis.type.TypeHandler 接口,或继承一个很便利的类 org.apache.ibatis.type.BaseTypeHandler, 并且可以(可选地)将它映射到一个 JDBC 类型。原创 2023-03-10 15:56:41 · 1766 阅读 · 0 评论 -
Mybatis框架源码笔记(六)之Mybatis中集成日志框架原理解析
看到这张图片,大家在项目中使用Mybatis框架进行数据库操作的时候可能都在控制台看到过类似的日志打印, 大家有没有去深究一下, 这些功能到底是怎么实现的呢, 下面我主要通过源码分析一下在Mybatis框架在执行JDBC操作的时候是如何完成相关的操作信息和SQL语句从控制台输出的?这里我们聊的是围绕着JDBC相关的操作, 所以我们只分析跟JDBC相关的日志实现。原创 2023-03-03 19:42:09 · 964 阅读 · 0 评论 -
Mybatis框架源码笔记(五)之Mybatis框架缓存机制原理解析
配置文件中缓存相关的配置参数解析Myabtis框架中一级缓存和二级缓存默认是开启的缓存默认的作用域是SessionConfiguration初始化的时候会为我们的各种Cache实现类完成别名注册三级缓存一般都是自定义缓存。分布式缓存框架:我们系统为了提高系统并发和性能,一般对系统进行分布式部署(集群部署方式)不适用分布缓存, 缓存的数据在各个服务单独存储,不方便系统开发。原创 2023-02-27 13:42:42 · 870 阅读 · 0 评论 -
Mybatis框架源码笔记(四)之Mybatis执行增删改查方法的流程解析
Mybatis框架在执行增伤改的流程基本相同, 很简单,这个大家只要自己写个测试demo跟一下源码,基本就能明白是怎么回事,查询操作略有不同, 这里主要通过查询操作来解析一下整个框架的流程设计实现。原创 2023-02-22 17:31:36 · 560 阅读 · 0 评论 -
IDEA中如何配置SpringBoot项目多实例不同端口运行
配置结束之后让测试在8010端口进行测试, 我们可以在8009端口继续进行新的业务模块功能开发,匹配不会互相影响。我们在进行新项目开发的时候, 可能做完一个新的模块功能并自测通过之后, 我们希望测试人员能帮我跑一些单元测试用例来进行测试验证, 但是我们又需要在此基础上技术开发新的功能, 这是我们就需要在我们的开发PC上同时运行多实例来保证开发及内部测试的需求,下面就说说怎么在IDEA上实现这个同项目多实例运行。修改运行组名称和运行组中的启动实例。修改复制实例的名称及运行端口。原创 2023-02-17 13:02:18 · 5060 阅读 · 0 评论 -
SpringBoot项目如何引入外部jar及将外部jar打包到项目发布war包
我们现在是需要把项目打包成war包了,那么打包的时候就不需要内嵌web容器了,需要排除掉。这里需要选择我们的tomcat Server启动。在build下设置项目最终打包的项目名称,如果不设置也是可以的, 默认显示的就是是项目name加上版本号。引入外部jar成功,在自己的项目中如果使用了外部jar的方法修改了项目代码,需要重新进行打包部署。OK,项目中的接口可以正常访问, 引入外部jar包之后,项目打包并部署依然是成功的。个外部的jar包, 我这里使用的是guava-31.1-jre.jar作为演示。原创 2023-01-31 14:18:49 · 3526 阅读 · 0 评论 -
SpringBoot项目如何引入外部jar及将外部jar打包到项目发布jar包
引入jar包及打包原创 2022-11-29 11:22:16 · 7066 阅读 · 0 评论 -
Mybatis框架源码笔记(二)之Mybatis核心原理流程分析
Mybatis架构及核心流程介绍原创 2022-11-03 17:54:34 · 479 阅读 · 0 评论 -
RuoYi框架微服务版本(windows环境)二次开发环境搭建详解【小白版】
1、需要准备的依赖环境服务JDK >= 1.8 (推荐1.8版本)Mysql >= 5.7.0 (推荐5.7版本)Redis >= 3.0Maven >= 3.0NodeJS >= 10以上安装配置不赘述nacos >= 1.1.0 (ruoyi-cloud >= 3.0.0需要下载nacos >= 2.x.x版本)sentinel >= 1.6.0RuoYi-Cloud >=3.0.0 (我选择的是最新的3.2.0版本)2原创 2021-12-03 17:25:25 · 4573 阅读 · 0 评论 -
为什么IDEA不推荐你使用Field injection?
问题在使用IDEA进行JavaWeb项目开发时,我们经常会使用到@Autowired注解进行依赖注入,但是使用了这个@Autowired注解之后,IDEA的语法检查总会在这个注解下显示黄色的波浪线,鼠标悬停在上面之后提示"Field injection is not recommended",但是这样使用也没有什么问题,编译执行都是正常的,但是为什么IDEA会提示这样的警告信息呢?Spring框架中依赖注入的方式1、构造器注入【Constructor Injection】这种注入方式很直接,通原创 2021-12-02 16:47:51 · 526 阅读 · 0 评论 -
整理PC文档时翻出来的3年前的Java学习笔记
原创 2021-06-25 09:10:56 · 85 阅读 · 0 评论 -
Java基础----八种基本数据类型详解
原创 2019-04-24 11:13:42 · 280 阅读 · 0 评论