一、介绍在Java中,有几个流行的货币处理库,它们提供了丰富的功能和精确的计算。以下是一些推荐的Java货币类库:Joda-Money:这是一个非常流行的Java货币处理库,提供了货币金额和货币之间的转换功能。它还支持货币的存储和检索,以及货币的格式化输出。尽管它已经有一段时间没有更新,但其功能和稳定性仍然得到了广泛认可。java.util.Currency:这是Java标准库中的一部分,提供了对
在现代企业开发中,生成结构化文档(如 Word、PDF 等)是非常常见的需求,尤其在生成报告、合同等场景中显得尤为重要。我们通常希望通过简单的表单填写,将用户提供的数据动态嵌入到预先设计好的模板中,并生成相应的文档供用户下载。在本篇文章中,我们将基于 Spring Boot 3.3 和 YARG 框架,通过几行代码,轻松实现员工信息的 Word 文档自动生成,并为用户提供下载功能。为什么选择 YA
1、简介Jackson是一个json序列化工具, 并且作为SpringBoot默认的序列化和反序列化方式, 所以接口的请求体和响应体都是经过Jackson的处理, 并且Jackson是可以支持自定义序列化和反序列化的方式, 所以基于此我们可以扩展实现一些自定义序列化注解, 就像 @JsonFormat注解对时间格式处理一样。 那我们扩展自定义注解原理也很简单,主要是利用 @JsonSerializ
目录@Service("userService")@Value注解使用自定义参数@ConfigurationProperties配置参数空间注解@Autowired与@Resource的区别@Autowired@Resource@ComponentScan@Component@Aspect 面向切面编程相关@Pointcut@Before@After@AfterReturning@AfterThr
我想在SpringBoot 3.2.2中练习使用注释,但在引入这些注释时,我没有导入这些注释的选项。除非它们在SpringBoot 3.2.2中被移除。在日期为2023年12月23日的文件中,提到不建议使用。@Inject和@Resource注释是Java EE规范的一部分。它们与Spring框架几乎没有关系。然而,由于它们是Java标准,Spring也支持它们。但由于Spring有自己的专门注释
一、布隆过滤器介绍1、布隆过滤器的起源,用途 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 2、布隆过滤器的概念 如果想要判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过
第一、使用Spring Boot将数据库查询的数据存入Redis<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency&g
一、java枚举类编写OperTypeCode.javapackage com.imddy.nbigscreen.enums; public enum OperTypeCode { OPER_CC("OPER_CC", "出厂"), OPER_RZ("OPER_RZ", "入站"), OPER_ZC("OPER_ZC", "装车"), OPER_FC("OPER_
一、jdk21安装下载:https://www.oracle.com/java/technologies/downloads/?er=221886#java21通过这样更改,在控制台执行chcp就会是65001(utf-8),不是原来的936(GBK)了。二、maven安装下载:apache-maven-3.8.6.zip或者更高版本解压安装到:D:\Program Files\apache-ma
认识log4j2 的 APIFilters控制日志是否打印RewritePolicy重写日志内容LogEventFactory创建 LogEvent 工厂LogEventPatternConverter日志格式化转化工厂Layout输出格式日志脱敏认识上面 的 API ,日志脱敏适合在 :日志创建的时候,重写 LogEventFactory 工厂,创建出来脱敏的 LogEvent。日志重写阶段 R
1. Springboot使用的原生日志 Springboot中使用的日志实现方式是slf4j+logback的实现方式。虽然使用原生的日志可以实现日志记录的功能,但是log4j2的功能更加强大,效率更高。log4j2的效率可以在多线程时,在线程数量大的情况下,超过logback10倍左右!500万数据大概0.25G,只需3秒左右就可以写进磁盘
Q1: 为啥没法下载 flink-sql-connector-mysql-cdc-2.2-SNAPSHOT.jar ,maven 仓库为啥没有 xxx-SNAPSHOT 依赖? #和主流的 maven 项目版本管理相同,xxx-SNAPSHOT 版本都是对应开发分支的代码,需要用户自己下载源码并编译对应的jar, 用户应该使用已经 release 过的版本,比如 flink-sql-co
使用flink-cdc技术(2.3.0)解析binlog实现实时数据大屏。一、项目环境该项目主要为一个数据大屏,采用了flink-cdc技术(2.3.0),flink版本为(1.14.6),利用他,实现自动获取并解析Mysql的binlog,来实时把对应的数据解析出来用于大屏展示。 <!-- https://mvnrepository.com/artifact/org.apac
使用mysql-binlog-connector-java技术(0.29.2)解析binlog实现实时数据大屏。一、项目环境该项目主要为一个数据大屏,采用了mysql-binlog-connector-java技术,利用他,实现自动获取并解析Mysql的binlog,来实时把对应的数据解析出来用于大屏展示。 <!-- https://mvnrepository.com/arti
1.在pom.xml文件中加入如下配置<build> <plugins> <plugin> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-maven-plugin</artifactId
以前我2020看到过这个项目,螺丝钉(screw)项目,当时就喜欢得不行,我记得当时放到了博客里,我去博客里面找了很久也没有找到,不晓得怎么搞丢了,都已经忘记了这个项目的名字。只有搜索,还好找到了。我这里做个比较,方便下次使用。
前言作为一名老码农,在开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握
本意是为了安全和方便,通过一个controller来实现可以控制的一个简单MYSQL的代理。通过controller来开启和关闭代理,实现查询是就开启代理,然后查询,然后关闭代理。基于原生java的MySQLProxy.javaimport java.io.IOException; import java.io.InputStream; import java.io.OutputStream; i
1、根据Java8Stram流可以取最大值最小值和平均值(1)最小值BigDecimal min = list.stream().filter(Objects::nonNull).min(BigDecimal::compareTo).orElse(new BigDecimal(0));(2)最大值BigDecimal max = list.stream().filter(Objects::nonN
1、首先说一下用法,BigDecimal中的divide主要就是用来做除法的运算。其中有这么一个方法.public BigDecimal divide(BigDecimal divisor,int scale, int roundingMode)第一个参数是除数,第二个参数代表保留几位小数,第三个代表的是使用的模式。BigDecimal.ROUND_DOWN:直接省略多余的小数,比如1.28如果保
本文重点给大家介绍Tracer集成的slf4j MDC功能,方便用户在只简单修改日志配置文件的前提下输出当前 Tracer 上下文 TraceId,文章通过代码给大家讲解了在springboot中使用的技巧,感兴趣的朋友跟随小编一起看看吧SpringBoot中除了常见的分布式链路跟踪系统zipkin、skywalking等,如果需要快速定位一次请求的所有日志,那么该如何实现?实际slf4j提供了M
这篇文章主要介绍了SpringBoot项目使用slf4j的MDC日志打点功能,本文通过示例代码给大家介绍非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下SpringBoot项目使用slf4j的MDC日志打点功能线程mdc打点工具类代码配置logback 输出的日志格式,要输出mdc里定义的traceId配置webMVC使用MDC打点定义MvcTraceInterceptor
本文我们先介绍一些缓存的背景知识,以及内存缓存的流行开源库类实现,最后利用一些例子重点介绍下 Guava Cache 的缓存功能。背景什么是缓存“ 在计算中,缓存是一个高速数据存储层,其中存储了数据子集,且通常是短暂性存储,这样日后再次请求该数据时,速度要比访问数据的主存储位置快。通过缓存,可以高效地重用之前检索或计算的数据。”本文中所提及的缓存主要是指内存缓存,跟硬件没什么关系(比如三级缓存什么
cookie+token+拦截器实现自动登录原理:一般情况下拦截器判断登录状态,是通过获取session中的用户信息来判断的。但session是存储在服务器端的,浏览器一关闭,当前session就失效了。为了实现自动登录(就是一段时间内,比如一个月,每次访问该网址都自动登录上了),我们使用cookie,cookie指明了浏览器信息,处于安全性的考虑,在登录时,我们生成一个随机的token,将这个t
Spring Data 是个好东西,极大简化了后端dao的操作,只需要在 dao 接口写个 findByXXX 的方法就能自动实现按条件查询这个简直太爽了。但是在实际使用过程中,可能会遇到一个持久化逻辑删除的问题。那么问题来了。spring data jpa并不支持逻辑删除。那如何处理?在互联网项目中,通常删除都不是物理删除,而是逻辑删除。除了前面的这里转别人的一个方法,直接见代码:@NoRepo
SpringDataJpa为我们提供的代理类其实是SimpleJpaRepository。我们可以进行配置调整,使用的@EnableJpaRepositories来进行配置。@EnableJpaRepositories(repositoryBaseClass = BaseJpaRepository.class)这个BaseJpaRepository可以有2种方式,一个新建一个完全新的BaseJpa
Spring Data 是个好东西,极大简化了后端dao的操作,只需要在 dao 接口写个 findByXXX 的方法就能自动实现按条件查询这个简直太爽了。 不过问题也出现了,我的应用对于数据的操作没有物理删除,全是逻辑删除,也就是每个表都有个字段 deleted,1表示此记录已删除,默认值为 0 。这就与 spring data 提供的模式有冲突了,那剩下的就是:改之。 CR
springboot异步,异步线程池和ThreadPoolTaskExecutor之间的介绍
在某些应用程序中,您不希望或不允许从数据库中永久删除记录。但是,您仍然需要删除或隐藏不再处于活动状态的记录。例如,您希望保留一个用户帐户,因为它链接到仍在使用的其他业务对象。您有 2 个基本选项可以将此信息保存在系统中。您可以保留记录所有更改的审核日志,也可以执行隐藏已删除记录的软删除。我在 关于 Hibernate Envers 的文章中 解释了审核日志选项。今天,我想向您展
一、使用spring-jpa和 hibernate的@SQLDelete和@Where注解实现逻辑删除逻辑删除定义逻辑删除是指在删除数据库的某条记录时,并不是真正的将该条记录删除,而是通过某个字段来标识其状态为“删除”,在接下来的查询等操作时,根据此字段来过滤调被删除的记录。使用 Hibernate 进行逻辑删除进行逻辑删除时,需要覆盖 Hibernate 默认的删除操作,告诉 Hibernate
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号