
spring boot实战
文章平均质量分 89
主要是分享一些spring boot的特性及源码分析
斗者_2013
多年java老兵,专注微服务,中间件等热点技术,分享工作心得和技术干货
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring Boot中如何优雅的打印Http请求日志
通过向RestTemplate中添加拦截器实现http请求日志的优雅打印原创 2023-06-25 11:37:43 · 6083 阅读 · 1 评论 -
Spring Boot单体应用引入sleuth链路追踪
单体应用中引入链路追踪的好处,通过Sleuth实现链路追踪,并简单介绍底层原理原创 2023-06-15 18:38:21 · 4403 阅读 · 2 评论 -
knife4j生产环境资源屏蔽
knife4j3.0.2生产环境资源屏蔽问题记录原创 2023-05-17 15:38:23 · 8204 阅读 · 0 评论 -
spring boot读取resources目录下的python脚本执行
如何在spring boot工程中,通过java代码调用执行存放在resources目录下的python脚本?原创 2022-04-04 12:27:52 · 3123 阅读 · 0 评论 -
spring boot全局日期格式化配置
前端请求的日期格式的参数,你还在挨个配置@DateTimeFormat注解进行接受吗?后端返回给前端的json响应中的时间格式,你还在挨个用@JsonFormat配置时间格式化吗?本文教大家如何在spring boot下进行全局的日期格式化配置。原创 2021-12-09 16:32:39 · 5910 阅读 · 6 评论 -
logback过期日志文件自动删除
logback应该是目前最主流的日志框架了,在实际使用中经常遇到打印的日志文件不会自动删除,导致日志文件占有大量磁盘空间的问题。本文主要介绍logback日志文件自动删除的实现机制。原创 2021-10-12 10:59:50 · 13340 阅读 · 4 评论 -
spring boot中Excel文件下载踩坑大全
Spring boot文件下载问题一:下载的文件名称出现中文乱码的问题原创 2021-07-07 16:44:59 · 3143 阅读 · 6 评论 -
谁偷了我的1天,JSON格式化时区问题
谁偷了我的1天,JSON格式化时区问题原创 2021-06-28 18:16:21 · 8144 阅读 · 7 评论 -
你不知道的小技巧:轻松解决maven中jar包依赖问题
你不知道的小技巧:轻松解决jar包依赖问题。总结maven使用中的jar包冲突解决方法。重点分享通过maven仓库的官网查看jar包的版本依赖关系,来解决版本依赖问题。原创 2021-03-11 16:22:28 · 1341 阅读 · 3 评论 -
websocket系列:基于tio-websocket-spring-boot-starter实现
websocket系列:基于tio-websocket-spring-boot-starter实现原创 2021-02-23 18:22:28 · 4375 阅读 · 0 评论 -
websocket系列:基于netty-websocket-spring-boot-starter轻松实现高性能websocket
基于netty-websocket-spring-boot-starter轻松实现高性能websocket原创 2021-02-23 15:23:46 · 10174 阅读 · 32 评论 -
websocket系列:基于netty实现高性能websocket
基于spring boot + netty实现高性能的websocket原创 2021-02-23 13:40:55 · 1751 阅读 · 4 评论 -
websocket系列:基于SockJS和STOMP实现
如何基于SockJS和STOMP实现websocket,构建交互式web应用。原创 2021-02-19 12:35:09 · 1720 阅读 · 0 评论 -
websocket系列:基于spring-boot-starter-websocket实现
基于spring-boot-starter-websocket实现websocket原创 2021-02-18 14:49:14 · 34593 阅读 · 22 评论 -
SpringBoot动态修改日志级别
前言为了减少日志频繁打印带来的性能影响,线上环境设置的日志级别一般都相对较高。而当出现生产问题需要排查的时候,可能需要适当降低日志级别(例如DEBUG)来打印更多的日志信息帮助定位问题。传统的做法一般是:1、配置里修改日志级别2、重启应用3、问题复现查看报错日志排查问题这个过程需要重启应用,比较麻烦,效率较低,而且针对大型在线项目,不可能随便停机重启。那么有没有一种方式在不重启应用的情况下实现动态修改日志级别呢?下面,让老万教你如何通过SpringBoot的actuator组件来实现动态修改日原创 2021-01-14 22:28:59 · 2337 阅读 · 1 评论 -
Spring Boot Starter工程如何快速定位自动化配置类
前言现在Spring Boot越来越流行,而各种Spring Boot Starter工程由于其提供的自动化配置的特性,极大的提高了我们的开发速度。但同时也给定位问题,了解实现原理带来了一定的困难。而要了解Spring Boot Starter工程的底层原理,最核心的就是找到工程中的自动化配置类。本文根据自己的开发经验,总结以下快速定位自动化配置类的方法。由于最近在进行gateway的改造,就以 spring-cloud-starter-gateway来说明. <dependency&g原创 2020-10-15 15:27:11 · 760 阅读 · 1 评论 -
老万教你最简单接口幂等性控制
什么是接口幂等性接口幂等性,简单来说就是指一个接口调用一次和调用N次的效果是一样的,不会产生其他的副作用。注意:这里的效果一样和返回结果一样的区别,比如我们都知道查询接口具有天然的幂等性,但是多次调用查询接口的过程中,如果有其他操作对查询的数据进行了新增、修改、删除操作,那么查询接口的返回结果就会不一直,但是这并不能说明该查询接口不具有幂等性。场景说明典型场景,对指定订单发起一笔付款交易,无论交易接口调用一次还是N次,都只能扣用户账户一次钱。一般最简单的幂等处理就是通过订单状态来进行控制,伪代码原创 2020-09-22 20:33:22 · 876 阅读 · 0 评论 -
spring boot中通过注解@Bean声明的bean的名称是什么?
问题spring boot中我们常常会在configuration类中通过@Bean注解去声明Bean。但是很多人不清楚默认情况下,通过@Bean注解声明的Bean的名称是什么?请问,如下代码声明bean的名称是什么?@Configurationpublic class LogAutoConfigure { @Bean public Queue queueTest() { return new Queue("log-queue", true); }}为原创 2020-06-15 23:36:22 · 35512 阅读 · 7 评论 -
Spring boot属性文件加载和生效顺序深度分析
spring boot最核心的特性就是自动化配置,我们在学习spring boot的时候,首要需要了解它的自动化配置原理,其次是属性文件的加载顺序,我认为这两点是学习spring boot的重中之中。网上介绍spring boot属性文件的加载顺序的文章很多,但都没有从源码上深入分析。今天和大家一起通过源码探究,spring boot属性文件的加载顺序。这里说明一个观点,先加载的属性未必会生效,后加载的属性未必一定会覆盖先加载的属性值。是不是感觉很玄学,很佛系。...原创 2020-06-09 23:18:06 · 2469 阅读 · 0 评论 -
给你的SpringBoot工程打的jar包瘦瘦身
Spring boot默认方式打包,由于打的是全量依赖包(也称为fat包),不但打包慢,体积大,传输也慢,今天教大家给spring boot瘦瘦身。背景现在微服务架构越来越流行,一个项目10多个基于spring boot的服务模块很常见。假设一个服务模块打成jar包是100M,那么一次全量发布可能就需要上传1G的文件。在网络情况好的时候可能还没多大感觉,但如果是代码需要拷贝到内网发布,或者上传到某些国外服务器上, 将严重影响工作效率。那么,有没有什么办法给我们打的spring boot的jar包瘦.原创 2020-05-31 01:18:29 · 10891 阅读 · 18 评论 -
Spring boot前后端分离后,跨域问题怎么解决?
现在基于spring boot前后端分离的开发模式越来越普遍,那么,由于前后端分离引发的跨域问题,你知道怎么解决吗?什么是跨域跨域是指 不同域名之间相互访问。即浏览器控制当前网页下不能执行其他网站的脚本,这是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。也就是如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的。同源策略同源策略/S.原创 2020-05-20 02:40:22 · 4234 阅读 · 0 评论 -
Spring boot随机端口你都不会,怎么动态扩容?
一般情况下每个spring boot工程启动都有固定的端口,但是在微服务领域,服务的多实例扩容部署是非常常见的,如果在一台服务器上需要对同一个服务进行多实例,就会出现端口冲突,那么怎么解决这个问题呢?–答案是随机端口random随机端口在spring boot中,可以通过${random}来生成随机数字,我们可以在配置文件中,这么设置端口:server.port=${random.int(2000,8000)}通过random.int方法,指定生成2000~8000的随机端口。这样每次启动的端.原创 2020-05-19 01:59:56 · 5998 阅读 · 14 评论 -
小白都能听懂的spring boot自动化配置原理
spring boot最核心的特性就是他的自动化配置特性,极大的减少了构建一个spring web工程的工作量。那么你知道spring boot自动化配置的原理吗?先直接自定义一个user-spring-boot-starter组件,感受下自动化配置的魅力。构建user-spring-boot-starterpom依赖 <parent> <groupId>org.springframework.boot</groupId> .原创 2020-05-16 01:42:14 · 2000 阅读 · 0 评论 -
Spring Boot之全局异常处理:404异常为何捕获不到?
Spring Boot有很多非常好的特性,可以帮助我们更快速的完成开发工作。今天和大家聊聊Spring boot的全局异常处理。问题1、spring boot中怎么进行全局异常处理?2、为什么我的404异常捕获不到?3、常见的http请求异常,能统一封装成json返回吗?实战说明项目依赖包:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>原创 2020-05-10 20:54:45 · 15101 阅读 · 3 评论