自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(477)
  • 资源 (3)
  • 收藏
  • 关注

原创 基于AOP的异步操作日志实现

我们常用aop实现传统的同步日志记录。如果业务中有涉及到就没法做到了。或者就是使用强耦合的方式来实现。但是这样就和AOP实现日志记录成了两套体系。

2024-08-23 08:57:45 184

原创 mybatis初始调用流程

MapperScannerRegistrar 实现了ImportBeanDefinitionRegistrar接口,ImportBeanDefinitionRegistrar处理时机如下图。主调用入口为AbstractApplicationContext#invokeBeanFactoryPostProcessors ,这是容器刷新12大步里面最核心的一步。ConfigurationClassPostProcessor 是一个非常重要的后置处理器,主要用于@Configuration定义的配置类。

2024-08-23 08:47:12 367

原创 2024-01-开发技术积累

nacos源码中,如果是多实例,就采用nio读取文件。nacos raft协议 写文件。数据恢复,从文件中加载数据。以下代码 来自官方文档。

2024-08-23 08:43:58 398

原创 xxljob源码梳理

xxl-job分布式任务调度

2024-08-23 08:36:47 500

原创 SpringCloudGateway重写负载均衡策略

gateway中多实例请求转发,默认采用轮训转发策略。在有些场景下,某些请求想固定到某一台实例上,这里通过重写默认负载均衡策略的方式实现。以下代码为,大文件分片上传,多实例场景,根据文件md5和实例总数取模,选取处理服务实例。保证同一文件在固定实例上进行处理,保证最后的文件合并不会有问题。

2024-08-23 08:32:12 618

原创 私有仓库tomcat镜像构建

通过Tomcat安装包构建镜像。删除镜像,根据镜像id。

2024-08-23 08:22:05 385

原创 Redis连接池未释放问题

然而,在使用RedisTemplate.opsForHash().scan()这类方法时,如果不注意连接的关闭,可能会导致连接泄露问题。使用RedisTemplate.opsForHash().scan()进行哈希数据迭代时,要注意正确管理连接和资源,确保在迭代完成后关闭所有相关的资源。迭代完成后未关闭资源:虽然scan()方法本身不直接涉及连接的打开和关闭,但在迭代过程中可能使用了其他资源(如游标),如果没有在迭代完成后正确关闭这些资源,也可能间接导致连接泄露。

2024-08-23 08:17:01 429

原创 代码扫描Mybatisxml中$sql注入问题处理

代码安全扫描认为mybatis xml文件中的${},有sql注册风险。

2024-08-23 08:15:43 389

原创 人大金仓数据库常见运维方式整理

人大金仓数据库运维手册。

2024-08-23 08:12:53 463

原创 使用GenericObjectPool和GenericObjectPoolConfig进行对象池管理

在这个示例中,ConnectionFactory类负责创建数据库连接,而GenericObjectPool则负责管理这些连接的生命周期,包括借用、归还和销毁。如下代码示例是获取jdbc连接的示例。

2024-07-18 08:54:03 439

原创 Java数据压缩与解压缩

来自rocketmq源码,rocketmq中消息默认超过4KB,会进行压缩。evel为压缩层级,rocketmq源码中默认level为5。

2024-06-14 17:10:07 255

原创 Spring中自定义注解进行类方法增强

说到对类方法增强,第一时间想到自定义注解,通过aop切面进行实现。这是一种常用做法,但是在某些场景下,如开发公共组件,定义aop切面可能不是最优方案。以后通过原生aop方式,自定义注解,对类方法进行增强。

2024-06-14 16:56:08 351

原创 Spring中对没有实现类的接口进行曾强

对没有实现类的接口进行增强,此场景在Spring中比较常见。最典型的两个就是Mybatis和feign的调用。其主要是通过FactoryBean实现的。

2024-06-14 16:54:17 437

原创 如何对Spring管理bean进行增强

提到对类进行增强,一定会想到动态代理。本文使用两种方法实现对类进行增强。

2024-06-14 16:52:58 525

原创 Service层中进行spring校验

【代码】Service层中进行spring校验。

2024-06-14 16:51:23 325

原创 Redis熟悉到精通:开篇

并不是所有的缓存都只是为了提升速度,因为在分布式系统中,缓存机制实际上是系统级性能在设计的⼀个重要权衡⼿段。⽐如当某个数据库的负载⽐较⾼,接近系统瓶颈时,我们就可以使⽤缓存技术, 把负荷分担到其他数据库中,那么这⾥使⽤缓存的⽬的,主要就是。强一致性数据,它是指代码数据会经常发生变化,而且业务对数据库的一致性要求非 常高,也就是说当数据发生变更后,其他用戶在系统中的任何地方,都应该看到的是更新后的数据。也就是说,所有的数据修改都必须确保可以同步修改 缓存与数据库中的数据。那么,针对这种类型的数据,一般是。

2023-07-10 17:57:04 1938

原创 Spring-Autowire&FactoryBean

autowire 即自动注入的意思,通过使用 autowire 特性,我们就不用再显示的配置 bean 之间的依赖了。把依赖的发现和注入都交给 Spring 去处理,省时又省力。autowire 几个可选项,比如 byName、byType 和 constructor 等。autowire 是一个常用特性,相信大家都比较熟悉了,所以本节我们就 byName 为例,快速结束 autowire 特性的介绍。

2023-07-10 16:35:44 2082

原创 Spring MVC中的HandlerInterceptors和Filters

比较Java servlet过滤器和Spring MVC Handlerinterceptor,以及什么时候一个比另一个更好。关键的收获是使用Filters,可以在请求到达的控制器Spring MVC之外之前操作它们。否则,Handlerinterceptors是应用程序特定横切关注点的好地方。通过提供对目标Handler和ModelAndView对象的访问,拥有了更细粒度的控制。

2023-07-10 15:03:13 1692

原创 Spring中自定义Bean特性

Spring框架提供了许多接口,可以使用它们来定制bean的性质。Aware。

2023-07-10 14:50:58 448

原创 Springboot启用HTTP响应压缩

官方文档:https://docs.spring.io/spring-boot/docs/2.3.12.RELEASE/reference/htmlsingle/#how-to-enable-http-response-compression

2023-07-10 14:43:36 1024

原创 动态注册SpringMVC Controller类

主要类源码核心代码。

2023-07-10 14:26:26 1276

原创 Spring容器扩展点在微服务中的使用

(20230306)Spring容器扩展点在微服务中的使用。

2023-07-07 15:11:45 1208

原创 ribbon源码中线程是的使用

使用单例模式(静态内部类),初始化线程池。

2023-07-07 14:56:54 1155

原创 Future&CompletableFuture

直接继承Thread或者实现Runnable接口都可以创建线程,但是这两种方法都有一个问题就是:没有返回值,也就是不能获取执行完的结果。因此java1.5就提供了Callable接口来实现这一场景,而Future和FutureTask就可以和Callable接口配合起来使用。

2023-07-07 14:50:09 137

原创 在Java中压缩和解压缩

如何将文件压缩到归档文件中,以及如何解压缩归档文件,所有这些都使用Java提供的核心库。这些核心库是java.util.zip包的一部分,可以在其中找到所有与压缩和解压缩相关方法。

2023-07-01 07:43:25 380

原创 全局JSON序列化导致prometheus数据格式错乱

现场配置完prometheus端点后,返回数据格式乱了,如下图所示正常结果数据如下图所示。

2022-11-29 16:53:30 2094

原创 有效的 @SuppressWarnings 警告名称

了解 与@SuppressWarnings Java 注解一起使用的不同警告名称,它允许编译器抑制警告。 这些警告名称允许抑制特定的警告。 可用的警告名称取决于我们的 IDE 或 Java 编译器以下是@SuppressWarnings 注解中可用的有效警告名称列表:使用不同警告名称的示例。在下面的示例中,警告名称抑制了方法中未使用值的警告:3.2. @SuppressWarnings(“deprecated)在下面的示例中,警告名称禁止使用*@deprecated*方法的警告:3.3. @Suppr

2022-06-18 09:48:33 1568

原创 Spring单例bean如何处理并发请求

当有多个相同类型的实现时,命名一个Spring bean非常有用。这是因为 bean 没有唯一的名称,那么注入 bean 对 Spring 来说是不明确的。通过控制 bean 的命名,可以告诉 Spring 要将哪个 bean 注入目标对象。Spring为创建 bean提供了多个注解,可以在不同的层次上使用这些注解。例如,可以在 bean 类上放置一些注解,而在创建 bean 的方法上放置一些注解。首先,来看 Spring 的默认命名策略在。当只指定注解而没有任何值时,Spring 如何命名 bean?从在

2022-06-18 09:42:21 3285

原创 Spring bean名称

当有多个相同类型的实现时,命名一个Spring bean非常有用。这是因为 bean 没有唯一的名称,那么注入 bean 对 Spring 来说是不明确的。通过控制 bean 的命名,可以告诉 Spring 要将哪个 bean 注入目标对象。Spring为创建 bean提供了多个注解,可以在不同的层次上使用这些注解。例如,可以在 bean 类上放置一些注解,而在创建 bean 的方法上放置一些注解。首先,来看 Spring 的默认命名策略在。当只指定注解而没有任何值时,Spring 如何命名 bean?从在

2022-06-18 09:34:55 3966

原创 Spring ApplicationContext

详细探索 Spring ApplicationContext接口Spring 框架的主要特性之一是 IoC(控制反转)容器。Spring IoC 容器负责管理应用程序的对象。它使用依赖注入来实现控制反转。接口*BeanFactory* 和*ApplicationContext* 代表 Spring IoC 容器。这里,BeanFactory是访问 Spring 容器的根接口。它提供了管理 bean 的基本功能。另一方面,ApplicationContext 是BeanFactory的子接口。因此,它提供了B

2022-06-18 09:17:36 481

原创 如何在Spring中动态自动装配Bean

介绍如何在 Spring 中动态地自动装配 bean。首先展示一个动态自动装配可能会有所帮助的真实用例。 除此之外,将展示如何在 Spring 中以两种不同的方式解决它。动态自动装配在需要动态更改 Spring 的 bean 执行逻辑的地方很有帮助。 这在根据一些运行时变量选择要执行的代码的地方尤其实用。为了演示一个真实的用例,创建一个控制世界不同地区的服务器的应用程序。 出于这个原因,创建了一个带有两个简单方法的接口:两个实现类假设有一个网站,用户可以选择检查服务器是否在所选区域中处于活动状态。 因

2022-06-17 14:52:13 1887

原创 RestTemplate设置代理

1.介绍了解如何使用 RestTemplate 向代理发送请求。2.依赖首先,RestTemplateCustomizer 使用 HttpClient 类连接到代理。要使用该类,需要将 Apache 的 httpcore 依赖添加到 Maven pom.xml 文件中:<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</a

2022-03-18 08:15:20 8807 1

原创 Spring 控制反转和依赖注入简介

文章目录1.介绍2.什么是控制反转?3.什么是依赖注入?4.Spring IoC 容器5.基于构造函数的依赖注入6.基于Setter的依赖注入7.基于字段的依赖注入8.自动装配依赖9.延迟初始化的 Bean1.介绍介绍 IoC(控制反转)和 DI(依赖注入)的概念,了解如何在 Spring 框架中实现的。2.什么是控制反转?控制反转是软件工程中的一项原则,它将对象或程序部分的控制权转移到容器或框架。 我们最常在面向对象编程的上下文中使用它。与传统的自定义代码调用库编程相比,IoC 使框架能够控制程

2021-11-27 22:41:57 1000 1

原创 Spring Bean 生命周期和回调

1.介绍了解 Spring 容器管理的 Spring Bean 生命周期,包括对 Spring 容器和 IoC 的理解。 同时了解 Spring bean 生命周期回调处理程序和后处理器。 Spring Framework 提供了几种回调方法来创建 bean 和一些方法来销毁 Spring IoC Container 中的 bean。Spring Framework 提供了几个标记接口来更改容器中 bean 的行为; 它们包括 InitializingBean 和 DisposableBean。 实现

2021-11-27 22:39:54 1121

原创 Spring中@Autowired@Resource和@Inject注解区别

1.介绍如何使用与依赖注入相关的注解,即 @Resource、@Inject 和 @Autowired 。 这些注解为类提供了一种解决依赖关系的声明方式:@Autowired ArbitraryClass arbObject;与直接实例化它们相反(命令式方式)ArbitraryClass arbObject = new ArbitraryClass();三个注解中有两个属于 Java 扩展包:javax.annotation.Resource 和 javax.inject.Inject。 @

2021-11-27 22:37:58 2695 3

原创 热门 Spring 框架问题

1.Spring核心1.1.什么是Spring框架?Spring 是用于开发 Java Enterprise Edition 应用程序的最广泛使用的框架。 此外,Spring 的核心特性可用于开发任何 Java 应用程序。使用它的扩展在 Jakarta EE 平台之上构建各种 Web 应用程序。 也可以在简单的独立应用程序中使用它的依赖注入的特性。1.2.使用 Spring 有什么好处?Spring 的目标是让 Jakarta EE 开发更容易:轻量级 - 在开发中使用该框架有轻微的开销。控

2021-11-27 22:35:16 194 1

原创 检测Spring 事务是否处于活动状态

1.介绍检测事务对于审计目的或处理未实现良好事务约定的复杂代码库可能很有用。2.事务配置为了使事务在 Spring 中工作,必须启用事务管理。 如果使用具有 spring-data-* 或 spring-tx 依赖项的 Spring Boot 项目,Spring 将默认启用事务管理。 否则,必须启用事务并显式提供事务管理器。首先,需要在@Configuration 类中添加@EnableTransactionManagement 注解。 为项目启用Spring 的注解驱动事务管理。接下来,必须提供

2021-11-27 22:33:52 4583

原创 Spring @Transactional 中的事务传播和隔离

20211030Spring @Transactional 中的事务传播和隔离1.介绍介绍 @Transactional 注释,以及它的隔离和传播设置。2.什么是@Transactional?可以使用@Transactional 将方法包装在数据库事务中。它允许为事务设置传播、隔离、超时、只读和回滚条件。 还可以指定事务管理器。2.1. @Transactional 实现细节Spring 创建一个代理,或者操作类字节码,来管理事务的创建、提交和回滚。 在代理的情况下,Spring 会忽略内部方

2021-11-27 22:31:24 3230

原创 Java中的压缩和解压缩

1.介绍本篇文章介绍,如何将文件压缩到存档中以及如何解压存档——所有这些都使用 Java 提供的核心库。这些核心库是 java.util.zip 包的一部分——可以在其中找到所有与压缩和解压缩相关的实用程序。2.压缩文件看一个简单的操作——压缩单个文件。对于示例,将一个名为 test1.txt 的文件压缩到一个名为compressed.zip 的存档文件中。@Test public void test1() throws IOException { String sou

2021-10-06 09:56:37 512

原创 Apache Commons IO

1.介绍Apache Commons 项目旨在为开发人员提供一组可以在日常代码中使用的公共库。本篇文章中将了解 Commons IO 模块的一些关键实用程序类及功能。2.Maven依赖要使用该库,需要在 pom.xml 中包含以下 Maven 依赖项:<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <

2021-10-06 09:45:26 4225

hibernate_validator_reference_5.1.3.pdf

hibernate_validator_reference_5.1.3 整合spring进行参数校验

2020-04-15

httpclient-tutorial开发指导文档.pdf

apache httpclient 开发指导文档4.5版本,内容比较全面,开发过程中值得借鉴,文档中各种应用场景已经覆盖到了。

2020-03-24

阿里巴巴eclipsejava代码检测规范

java代码开发规范,eclipse扫描插件,然你的开发更轻松破。

2018-05-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除