项目实用功能
文章平均质量分 76
DDF_YiChen
世上人才千千万,我在垃圾堆里站
展开
-
ELK搭建入门
ELK日志搭建入门原创 2022-08-09 20:46:38 · 551 阅读 · 0 评论 -
线程池的优雅关闭探究
线程池优雅停机方案简介在开发中使用线程池去执行异步任务是比较普遍的操作,然而虽然有些异步操作我们并不十分要求可靠性和实时性,但总归业务还是需要的。如果在每次的服务发版过程中,我们不去介入线程池的停机逻辑,那么很有可能就会造成线程池中队列的任务还未执行完成,自然就会造成数据的丢失。探究注意,本文所有前提是对进程进行下线时使用的是kill我们知道Spring已经实现了自己的优雅停机方案,详细请参考org.springframework.context.support.AbstractApplicati原创 2021-08-20 10:53:42 · 2614 阅读 · 0 评论 -
`@ControllerAdvice`和`@RestControllerAdvice`的使用
@ControllerAdvice和@RestControllerAdvice的使用作用其实两个注解是同一个,只不过一个是针对与@RestController的另一个是针对@Controller的, 前后端分离我们都会使用@RestController, 因此后面直接针对这个来说,两个的区别是@RestController相当于在所有@Controller里的@RequestMapping方法上添加了注解@RequestBody可以简单理解为就是特意为@RestController设计的拦截器, 通过原创 2021-09-03 17:55:02 · 1991 阅读 · 0 评论 -
滚动排行榜实现方式小结
介绍所谓滚动排行榜,即不是固定的某一周,某一个月这种起始点在存储和查询时在某一个时间段是固定的。比如近7天榜,近30天榜,随着每一天的变化这个榜单的取值范围是一直在变化的。那么这个滚动排行榜与一般排行榜在实现上最大的区别在哪呢?以我们最常用的redis实现方案来说,如果是固定周榜, 那么我们在一周内的任一时间点,在产生排行榜数据的时候, 只需要往这个固定的key里存入数据即可。在取值时,也直接一个命令zrevrange即可搞定。因为在这一周中的任一一天,都属于同一周。但是如果是滚动榜呢,.原创 2021-11-09 13:23:13 · 1950 阅读 · 0 评论 -
SpringBoot配置swagger
引入依赖<properties> <swagger.version>2.9.2</swagger.version> <swagger-ui.version>2.9.2</swagger-ui.version> <swagger-annotation-models-version>1.5.21</swagger-annotation-models-version></p原创 2021-04-03 18:29:34 · 161 阅读 · 0 评论 -
SpringBoot项目配置线程池
其实配置线程池没什么好讲的,就那几个参数,不过在项目包中提供了一个帮助类,可以方便的只用传参数,方法内部去构建线程池对象,避免配置多个线程池时每个方法内部产生大量重复代码.准备Spring提供了一些类可以帮助我们快速构建线程池bean对象。基于线程池任务的org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor基于定时任务使用的调度线程池对象org.springframework.scheduling.TaskSchedule原创 2021-04-03 18:04:04 · 638 阅读 · 0 评论 -
SpringBoot如何自定义拦截器
前言mvc这一块的功能有点啰嗦了,写起来如果只是配置的话,其实很简单,还是贴出来官方文档地址,后面就不会的单独说这块的内容了。https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-config实现第一种实现是基于https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-config-inte原创 2021-04-03 17:36:47 · 371 阅读 · 0 评论 -
SpringBoot如何配置全局跨域
参考首先贴出来官网文档给的例子https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-cors这里把各个解决思路都写出来了全局跨域配置存在的一些问题全局跨域官方给的第一种方案是下面这个样子, 例子在https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-cors-global-java。原创 2021-04-03 17:09:53 · 785 阅读 · 5 评论 -
SpringBoot项目实用功能之如何自定义参数解析器
核心点实现接口org.springframework.web.method.support.HandlerMethodArgumentResolversupportsParameter 方法根据当前方法参数决定是否需要应用当前这个参数解析器resolveArgument 执行具体的解析过程将自实现的参数解析器类添加到Spring容器中实现org.springframework.web.servlet.config.annotation.WebMvcConfigurer接口的addArgum原创 2021-04-03 16:31:20 · 370 阅读 · 0 评论 -
基于springboot+redis+lua开发一个可定制扩展的限流组件
前言代码就不在这个文章里面贴了,直接指向git仓库地址,因为贴出来既占空,又阅读不方便。毕竟代码量也不算少。这块实现在下面这个路径,没有贴项目地址,而是其中一个模块的一个包,这样方便阅读,就在这个包里。传送门其实整个开发更像是如何去实现一个自己的组件,且要发散思维,怎么让它可扩展,直接直接作为依赖包让项目直接引用。后面基本上其实是实现了这个目的的,但基于一些项目上代码可读性的考虑,有几个地方没有这么处理,否则代码会散落在各个地方。但其实核心的地方都已经实现了。目标轻依赖,项目级别不大的话,没必要原创 2021-03-29 22:20:09 · 306 阅读 · 0 评论