SPRING 四月 27, 2024

【译】如何在 Spring 中将 @RequestParam 绑定到对象

文章字数 8.1k 阅读约需 7 mins.

你的请求映射方法中是否有多个用 @RequestParam...

查看全文

JAVA 二月 03, 2024

基于 MyBatis 拦截器机制实现一个敏感数据处理组件

文章字数 22k 阅读约需 20 mins.

MyBatis 作为一个流行的持久层框架,提供了拦截器 Interceptor 机制,允许开发者在 SQL 执行过程中插入自定义逻辑。本文将深入探讨 MyBatis 拦截器的用法和使用场景,并以处理敏感数据场景为例实现了一个自定义拦截器。

MyBatis 官网中 Interceptor 的介绍:

MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:

  • Executor (update, query, flushStatements...
查看全文

JAVA 十二月 24, 2023

离线环境下 Maven 编译打包

文章字数 2.8k 阅读约需 3 mins.

某些离线场景下我们可能无法连接 Maven 中央库或其他内网私服,又想通过 Maven 对源码进行编译打包。

本文给出了在离线环境下使用 Maven 编译打包的方案。

假设目标环境已经安装好了 JDK 和 Maven,并且将要编译的源码工程 demo-project 放置在了 /maven-offline/build 路径下。

先在联网环境成功执行一次编译,保证使用的 Maven 本地缓存仓库(默认路径 ~/.m2/repository)中包含了编译所需的依赖。

将本地缓存仓库目录 repository...

查看全文

JAVA 十二月 03, 2023

MyBatis-Plus 中的 IService 和 BaseMapper

文章字数 5.3k 阅读约需 5 mins.

原文地址:https://wyiyi.github.io/amber/2023/12/01/mybatis-plus/

MyBatis-Plus 作为一个优秀的 ORM 框架,致力于简化和提高 Java 应用程序对数据库访问的效率。

在使用的过程中,发现 MyBatis-Plus 提供了 BaseMapper 和 IService 两个核心接口,但有些相似之处:它们如何使用及使用场景分别是什么?

BaseMapper 接口是 MyBatis-Plus 提供的通用 Mapper 接口,它继承自...

查看全文

JAVA 十一月 19, 2023

【转】由 System.gc() 频繁引起 Full GC 的问题排查

文章字数 4.8k 阅读约需 4 mins.

原文地址:https://mp.weixin.qq.com/s/IHMHP9b-k0XwKPE1KjpLoQ

早上服务频繁出现 Full GC 报警(由于昨晚下掉了 -XX:+DisableExplicitGC 参数,其实会有 Full GC 产生已经在意料之中,但属实没想到会触发的这么频繁),

这里 JVM 总共运行了 4531.278 s,可以看到差不多半分钟一次 Full GC,单次 Full GC 大概耗时 1.5s。

根据经验可以判断出是由于 System.gc() 被调用引起的,但...

查看全文

JAVA 十月 07, 2023

【转】查看依赖树的利器

文章字数 1.8k 阅读约需 2 mins.

原文地址:https://wyiyi.github.io/amber/2023/10/01/Dependency%20Tree/

依赖树(Dependency Tree)工具,可以查看和分析项目的依赖关系。

本文将介绍 maven 和 gradle 两种构建如何查看依赖树。

  1. 命令行工具来查看项目的依赖树,执行命令:

     mvn dependency:tree
     gradle dependencies
  2. 对于大型项目,可以将输出结果保存到文件中:

     mvn dependency:tree >...
查看全文

JAVA 八月 13, 2023

Thymeleaf —— 简化 Java Web 开发的强大模板引擎

文章字数 15k 阅读约需 14 mins.

原文地址:https://wyiyi.github.io/amber/2023/08/01/thymeleaf/

Thymeleaf 是一种用于在服务器端和客户端之间渲染 HTML、XML、JavaScript、CSS 和文本的 Java 模板引擎。

模板引擎在 Web 领域的主要作用:让网站实现界面和数据分离,这样大大提高了开发效率,提供自然、灵活的模板处理功能,让代码重用更加容易。

查看全文

JAVA 六月 24, 2023

【转】CPU飙升排查

文章字数 2.1k 阅读约需 2 mins.

原文地址:https://softleadergy.github.io/CPU%E9%A3%99%E5%8D%87%E6%8E%92%E6%9F%A5/

线上资源cpu飙升是我们工作中常见的问题,一篇文章搞定排查方法

现在我有两个接口,代码如下

@RestController
public class CPUCheck {
  @RequestMapping("/hello")
  public String helloWorld(){
      return "hello World...
查看全文

JAVA 五月 28, 2023

用 IDEA 写更整洁的 Java 代码

文章字数 5.1k 阅读约需 5 mins.

新版本 IDEA 支持设置保存时的动作,在 Preferences 下的 Tools | Actions on Save 中:

支持如下动作:

  • Reformat code: 根据当前代码风格设置执行格式化代码动作,可设置生效的文件类型及范围(整个文件、变更部分)
  • Optimize imports: 根据当前代码风格设置执行移除无用 import 及重新组织 import,可设置生效的文件类型
  • Rearrange code: 根据当前代码风格设置执行代码重排序动作
  • Run code cleanup...
查看全文

JAVA 十月 15, 2022

黑客松云原生赛道初赛程序设计分享

文章字数 15k 阅读约需 13 mins.

2Core / 4GB 的总资源限制内,在容器中运行一个基于文本日志文件的统计分析程序,统计发表评论最多的前10位用户,并按顺序返回用户名、该用户的评论次数、该用户不重复的评论数量以及最近发表评论的时间

  1. 按照评论次数由多到少进行排序
  2. 当用户评论次数相同时,将内容不重复的评论数量较多的用户排在前面
  3. 当“用户评论次数”与“不重复的评论次数”均相同时,以“最近发表评论的时间”排序,内容较新的用户排在前面

正式比赛的数据量级为1000万(可能会有零头,但不低于1000万,不超过1001万),数据文...

查看全文
加载更多
0%