随笔分类 - springboot
摘要:在 Java 中,使用 Mock 对象进行单元测试是一种常见的实践,尤其是在需要隔离被测试组件时。Mock 可以帮助我们模拟依赖对象的行为,从而专注于测试特定的逻辑,而不必依赖于外部系统或复杂的对象。 1. 使用 Mock 的好处 隔离测试:通过 Mock 依赖项,可以确保测试只关注被测试类的逻辑。
阅读全文
摘要:如果多个实体类都有 isDelete 字段,并且你希望在插入时为它们统一设置默认值,可以采取以下几种方法来减少代码重复: 1. 使用基类(抽象类) 创建一个基类,其中包含 isDelete 字段和 @PrePersist 方法。然后让所有需要这个字段的实体类继承这个基类。 示例代码: import
阅读全文
摘要:部署 docker run --name=seata1.4.2 \ --hostname=d67502e1d2ea \ --mac-address=02:42:0a:ff:fe:02 \ --env=SEATA_IP=192.168.60.136 \ --env=SEATA_PORT=8091 \
阅读全文
摘要:在使用 Spring Data JPA 中的 @CreatedDate 注解时,如果希望自动填充创建时间字段,通常需要结合 @EntityListeners(AuditingEntityListener.class) 注解一起使用。这是因为 @CreatedDate 等审计注解通常与审计事件监听器(
阅读全文
摘要:将多个第三方包封装成一个项目后,如果你的目的是让其他开发人员可以直接引用这些依赖,一般来说有两种常见的方式: 打成JAR包:将封装好的项目编译打包成JAR文件,其他开发人员可以将这个JAR文件添加到他们的项目中,并在项目的构建工具(比如Maven)中配置该JAR作为依赖。这样做的好处是简单直接,其他
阅读全文
摘要:在Spring中,CompletableFuture通常用于异步编程,可以方便地处理异步任务的执行和结果处理,CompletableFuture 是 Java 8 引入的一个类,用于支持异步编程和并发操作。它基于 Future 和 CompletionStage 接口,提供了丰富的方法来处理异步任务
阅读全文
摘要:这个文章主要介绍一下@AutoConfigureAfter在spring框架中的作用,在使用过程中,很多开发人员在使用它的时候都出现了问题,问题比较多的就是它们的注册顺序总不是我们预期的,下面介绍一下正常的使用方法。 @AutoConfigureAfter用在配置类上面,即需要在@Configura
阅读全文
摘要:redis配置文件开启键过期 # The "notify-keyspace-events" takes as argument a string that is composed # of zero or multiple characters. The empty string means tha
阅读全文
摘要:mybatis-plus中,如果数据表字段类型与java实体字段类型不一样,这时就需要做类型映射与转换了,我们一般可以实现TypeHandler接口,或者继承抽象类BaseTypeHandler,我们下面举例来说明一下它的使用方法。 场景 数据表里字段是varchar,java里是List集合,例如
阅读全文
摘要:对于实体中包含有公共字段,像create_at,create_time,update_at,update_time来说,我们没有必要在每个实体的crud操作中复制同样的代码,这样代码的味道很坏,我们应该使用mybatis的拦截器机制,将公共字段统一处理;当然mybatis-puls在实现上更加优雅,
阅读全文
摘要:日志本地化,对于每个应用来说都是必须的,最起码第一时间日志是需要本地化的,然后从本地化的日志中再进行推送,例如通过fluentd将日志推到es里,通过kibana工具进行可视化分析。 日志文件大小限制 对于把日志持久化到磁盘,你需要设置它的占用空间,logback提供了保存文件大小和历史文件数量的配
阅读全文
摘要:实时统计,也可以理解为流式计算,一个输入流,一个输出流,源源不断。 Kafka Stream Kafka Stream是Apache Kafka从0.10版本引入的一个新Feature。它是提供了对存储于Kafka内的数据进行流式处理和分析的功能。 Kafka Stream的特点 Kafka Str
阅读全文
摘要:webjars类型的前端jar包 我们可以将公用的js,css,html,vue,shtml打包成一个jar,然后在其他项目中引用,这样就不用每个项目都去引用一遍了,这样就可以实现前端的公用了。 1.创建一个maven项目,添加依赖和插件 <dependencies> <!-- 依赖webjars-
阅读全文
摘要:springcloud-nacos-seata 分布式事务组件seata的使用demo,AT模式,集成nacos、springboot、springcloud、mybatis-plus,数据库采用mysql demo中使用的相关版本号,具体请看代码。如果搭建个人demo不成功,验证是否是由版本导致,
阅读全文
摘要:配置文件中的敏感信息,如密码,账号这些都应该是秘文的,在程序获取时,再将它们动态解密,这样保证了配置信息的安全;在springboot中,有个resources\META-INF\spring.factories文件,他帮我们完成了自动装配,开发过starter包的同学应该不会陌生,而在这个文件里,
阅读全文
摘要:在工具类中封装getBean,使用哪个接口来实现 实事上,在工具类中,实现BeanFactoryPostProcessor和ApplicationContextAware接口后,使用它们构造方法里的对象ConfigurableListableBeanFactory和ApplicationContex
阅读全文
摘要:在 Spring 中,`@Autowired` 注解的使用在不同的上下文中会产生不同的效果,这取决于所在的组件或类是否由**Spring**管理。 1. **`@Aspect` 注解的使用**:`@Aspect` 注解通常用于声明切面,而切面是 Spring 管理的组件。因此,`@Autowired
阅读全文
摘要:`@Autowired` 是 Spring Framework 中用于自动注入依赖的注解,通常情况下可以正常工作,但有一些情况下可能无法获取到 bean 对象: 1. **Bean未定义或未扫描到**:如果要注入的 bean 没有在 Spring 上下文中定义或者没有被正确扫描到,`@Autowir
阅读全文
摘要:# 应用场景 * 用户下单5分钟后,给他发短信 * 用户下单30分钟后,如果用户不付款就自动取消订单 # kafka无死信队列 kafka本身没有这种延时队列的机制,像rabbitmq有自己的死信队列,当一些消息在一定时间不消费时会发到死信队列,由死信队列来处理它们,上面的两个需求如果是rabbit
阅读全文
摘要:在mybatis中,我们在insert操作之后,可以获取到自增主键的值,这个需要我们用到 INSERT INTO lawyer_id_offset (kgid) VALUES (#{kgid}) ``` # java中调用它 > 注意,这里有个坑,获取自增主键,不是获取mapper的返回值,而是从当
阅读全文