Java
mybatis mapper 工作原理
使用 SqlSession 的接口查询比较麻烦,MappedStatement 的 id 也是字符串容易出错,也不符合面向接口的编程方式。所以 mybatis 也支持使用 mapper 接口的方法来简化操作 初始化 前面分析初始化过程的时候有说到 MappedStatement 的维护,这一步是在解析映射文件的时候完成的,mapper 的注册也是在这一步,看下关键源码: @MapperScan
《敏捷无敌之DevOps时代》读后感
背景: 2020年基于我司业务形态,我开始实行敏捷项目管理。以敏捷为道,Scrum为法,迭代为术,禅道作器,大张旗鼓的搞了2年敏捷开发。随着时间推移,问题出现在2022年,当时我们已经完全按照Scrum的模式在运作着10个项目,以及项目团队。我们基于禅道提炼了如:任务准期率、任务准交率、计划偏差率等指标。但是其中一项指标成了我们10个团队的核心痛点,即:需求交付周期。我们在20
使用itext生成PDF表格报表
使用iText生成PDF表格形式报表 1、引用JAR包 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.3</version> </dependency&
学好Elasticsearch系列-索引的CRUD
本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 目录创建索引删除索引查询数据添加 & 更新数据cat命令公共参数常用命令aliases 显示别名allocation 显示每个节点的分片数和磁盘使用情况count 显示整个集群或者索引的文档个数fielddata 显示每个节点字段所占的堆空间health 显示集群是否健康indices 显示索引的情况mas
学好Elasticsearch系列-核心概念
本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 目录节点角色master:候选节点data:数据节点Ingest:预处理节点ml:机器学习节点remote_ cluster_ client:候选客户端节点transform:转换节点voting_ only:仅投票节点Coordinating only node:协调节点分片Shards主分片Replicas副本
学好Elasticsearch系列-Mapping
本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 目录Mapping 的基本概念查看索引 Mapping字段数据类型数字类型基本数据类型Keywords 类型Dates(时间类型)对象类型空间数据类型文档排名类型文本搜索类型两种映射类型自动映射:Dynamic Field Mapping显式映射 Expllcit Field Mapping映射参数Text 和 K
spring启动流程 (6完结) springmvc启动流程
SpringMVC的启动入口在SpringServletContainerInitializer类,它是ServletContainerInitializer实现类(Servlet3.0新特性)。在实现方法中使用WebApplicationInitializer创建ApplicationContext、创建注册DispatcherServlet、初始化ApplicationContext等。 Sp
你真正了解Spring的工作原理吗
Spring 1.1 什么是Spring IOC 和DI ? ① 控制反转(IOC):Spring容器使用了工厂模式为我们创建了所需要的对象,我们使用时不需要自己去创建,直接调用Spring为我们提供的对象即可,这就是控制反转的思想。② 依赖注入(DI):Spring使用Java Bean对象的Set方法或者带参数的构造方法为我们在创建所
React组件设计之性能优化篇
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:空山 前言 由于笔者最近在开发中遇到了一个重复渲染导致子组件状态值丢失的问题,因此关于性能优化做了以下的分析,欢迎大家的交流 我们在日常的项目开发中往往会把页面拆分成一个个的组件,通过拼装的方式来实现整体的页面效果,所以与其说去优化 React,
转载:PageOffice在线打开office文件通过js调用vba可实现的功能
pageoffice封装的js接口有限,某些比较复杂的设置用到的客户不多,所以没有提供直接的js方法,但是pageoffice提供了Document属性和RunMacro方法,可以调vba或直接运行宏指令实现比较小众的一些需求
linux查看进程命令
linux查看进程命令 一、Linux查看进程命令:PS命令 ps命令是一个相当强大地Linux进程查看命令.运用该命令可以确定有哪些进程正在运行和运行地状态、 进程是否结束、进程有没有僵死、哪些进程占用了过多地资源等等.总之大部分信息均为可以通过执行该命令得到地。 PS命令语法: ps [选项] -e显示所有进程,环境变量 -f全格式 -h不显示标题 -l长格式 -w宽输出 -a显示终端上地所有
uniapp webview 与vue2页面双向通信
一、准备工作 uniapp: //建立工程,创建显示的页面 <web-view src="http://192.168.0.58:8080" @message="handlePostMessage"></web-view> vue: 安装webview用到的依赖 yarn add @dcloudio/uni-webview-js import uniWebview
React 前端应用中快速实践 OpenTelemetry 云原生可观测性(SigNoz/K8S)
OpenTelemetry 可用于跟踪 React 应用程序的性能问题和错误。您可以跟踪从前端 web 应用程序到下游服务的用户请求。OpenTelemetry 是云原生计算基金会(CNCF)下的一个开源项目,旨在标准化遥测数据的生成和收集。已成为下一代可观测平台的事实标准。 React(也称为 React.js 或 ReactJS )是一个免费的开源前端 JavaScript 库,用于基于 U
@Value("${dbpc.path}")和@Value("#{dbpc.path}")区别
这两个注解都可以用来将值注入到Java Bean的字段中。但是,它们的使用方式略有不同。 @Value("${dbpc.path}")是Spring框架中的注解之一,用于从Spring配置文件中获取属性值,并将其注入到Java Bean的字段中。该注解可以用于注入基本类型、字符串、数组、集合、对象等类型的值。 @Value("#{dbpc.path}")则是Java中的表达式语法,用于将表达式的结
MyBatis-Plus这样实现动态SQL
拦截器介绍 拦截器是一种基于 AOP(面向切面编程)的技术,它可以在目标对象的方法执行前后插入自定义的逻辑。MyBatis 定义了四种类型的拦截器,分别是: Executor:拦截执行器的方法,例如 update、query、commit、rollback 等。可以用来实现缓存、事务、分页等功能。 ParameterHandler:拦截参数处理器的方法,例如 setParameters 等。可以
MyBatis-Plus数据权限控制
平时开发中遇到根据当前用户的角色,只能查看数据权限范围的数据需求。列表实现方案有两种,一是在开发初期就做好判断赛选,但如果这个需求是中途加的,或不希望每个接口都加一遍,就可以方案二加拦截器的方式。在mybatis执行sql前修改语句,限定where范围。 当然拦截器生效后是全局性的,如何保证只对需要的接口进行拦截和转化,就可以应用注解进行识别 因此具体需要哪些步骤就明确了 创建注解类 创建拦截器
java后台接收ajax发送的参数
1、前台发送数据到服务端,以及接受后台数据 前台发送数据到服务端,有两种方法: (1)使用 表单发送同步请求 参数inputStr: 参数intputInt: (2)使用ajax发送异步请求,发送的数据为json对象 &nbs
RabbitMQ由于x-message-ttl设置与代码不一致导致declareQueue时IO异常
具体异常: 原因 此处queryResult队列mq中x-message-ttl设置为2000000。 代码中declareQueue代码为: 代码中声明的x-message-ttl为100000,导致声明队列异常。 declareQueue时设置的x-message-ttl一定要和rabbitmq中设置的x-message-ttl一致
nginx实现服务器端集群搭建(五)
nginx与tomcat部署 环境准备(tomcat) 获取动态资源的连接地址 实验采用tomcat作为后台web服务器 (1)在服务器上准备一个tomcat (2)准备一个web项目,将其打包为war (3)启动tomcat进行访问测试 环境准备(nginx) (1)使用nginx的反向代理,将请求转给tomcat进行处理 (2)启动访问测试 &
poi XSSFCellStyle 导出设置 单元格颜色
案例1:设置单元格背景色: View Code 创建单元格样式: View Code View Code 案例2: 背景色: View Code 其他单元格样式设置: 注意: 1、 使用 setFillForegroundColor() 方法而不是 setFillBackgroundColor() 。 2、设置背景色时必须添加 titl
第十章 特殊类(内部类、枚举及注解)
1.内部类 1.1 内部类的基本概念 当一个类的定义出现在另外一个类的类体中时,那么这个类叫做内部类(Inner),而这个内部类所在的类叫做外部类(Outer)。 类中的内容:成员变量、成员方法、构造方法、静态成员、构造块和静态代码块、内部类。 1.2 实际作用 当一个类存在的价值仅仅是为某一个类单独服务时,那么就可以将这个类定义为所服务类中的内部类,这样可以隐藏该类的实现细节并且可以方便的
Java并发篇:6个必备的Java并发面试种子题目
线程创建和生命周期 线程的创建和生命周期涉及到线程的产生、执行和结束过程。让我们继续深入探索这个主题: 线程的创建方式有多种,你可以选择适合你场景的方式: 继承Thread类: 创建一个类,继承自Thread类,并重写run()方法。通过实例化这个类的对象,并调用start()方法,系统会自动调用run()方法执行线程逻辑。 实现Runnable接口: 创建一个类,实现Runnable接口,并实
我真的不想再用mybatis和其衍生框架了选择自研亦是一种解脱
我真的不想再用mybatis和其衍生框架了选择自研亦是一种解脱 文档地址 https://xuejm.gitee.io/easy-query-doc/ GITHUB地址 https://github.com/xuejmnet/easy-query GITEE地址 https://gitee.com/xuejm/easy-query 为什么要用orm 众所邹知orm的出现让本来以sql实现的复杂繁琐
线程池shutdown引发TimeoutException
问题描述 分享一个发版过程服务报错问题,问题出现在每次发版,服务准备下线的时候,报错的位置是在将任务submit提交给线程池,使用Future.get()引发的TimeoutException,错误日志会打印下面的"error"。伪代码如下: 代码逻辑非常简单,就是将一个Feign接口的调用提交给线程池去并发执行,最终通过Feture.get()同步获取结果,最多等待10s。 线程池的配置参数是