草庐IT

【Spring Boot】Spring Boot的系统配置 — 自定义配置项

自定义配置项本节将介绍SpringBoot实现自定义配置项(也称为配置属性)。在项目开发的过程中,经常需要自定义系统业务方面的配置文件及配置项,SpringBoot如何实现自定义属性配置呢?其实非常简单,SpringBoot提供了**@Value注解**、@ConfigurationProperties注解和Environment接口等3种方式自定义配置项。1.@Value在实际项目中,经常需要在配置文件中定义一些简单的配置项,SpringBoot提供@Value注解来设置简单的配置项,默认读取application.properties文件中的配置属性。下面通过示例来演示使用@Value注解

【Spring Boot】WebSocket 的 6 种集成方式

介绍由于前段时间我实现了一个库【SpringCloud】一个配置注解实现WebSocket集群方案以至于我对WebSocket的各种集成方式做了一些研究目前我所了解到的就是下面这些了(就一个破ws都有这么多花里胡哨的集成方式了?)JavaxWebMVCWebFluxJava-WebSocketSocketIONetty今天主要介绍一下前3种方式,毕竟现在的主流框架还是SpringBoot而后3种其实和SpringBoot并不强行绑定,基于Java就可以支持,不过我也会对后3种做个简单的介绍,大家先混个眼熟就行了那么接下来我们就来讲讲前3种方式(Javax,WebMVC,WebFlux)在Spr

spring boot项目部署到ubuntu服务器详细教程

1.准备IDEA;开发好的SpringBoot项目;Ubuntu服务器;2.将项目打包,利用IDEA的打包功能,这里以jar文件为例SpringBoot官方推荐打成jar包,服务器上有JDK1.8以上环境就可以直接运行;首先在pom.xml文件里面添加:点击右侧的maven,如果右侧没有的话鼠标放在IDEA左下角进行添加,然后package;     可以看到,打包完成后的jar文件放在了target目录里面; 2.将打包好的jar文件上传到Ubuntu服务器 3.如果Ubuntu上安装jdk,这里以jdk1.8为例打卡终端,输入java会提示我们各个版本的安装方法,我们要装jdk1.8版本所

在Spring Boot中打印SQL语句的方法

系列文章目录文章目录系列文章目录前言一、使用SpringBoot的配置选项打印SQL语句二、使用Logback配置打印SQL语句三、使用Druid数据源打印SQL语句四、使用Log4j2打印SQL语句五、使用@EventListener监听SQL语句总结前言在SpringBoot项目中,调试和优化数据库操作是很常见的需求。通过打印SQL语句可以帮助开发人员快速了解数据库的操作情况,进而进行性能分析和调试。本文将介绍在SpringBoot中打印SQL语句的几种方法,帮助你更好地理解和优化数据库操作。一、使用SpringBoot的配置选项打印SQL语句SpringBoot提供了一个配置选项,可以将

历尽艰辛的问题:Waiting for the kubelet to boot up the control plane......This can take up to 4m0s

只是初始化一个集群,没想到如此艰辛。初始化集群使用如下命令:sudokubeadminit--kubernetes-version=v1.26.1--ignore-preflight-errors=all结果出现如题所示问题:waitingforthekubelettobootupthecontrolplaneasStaticPodsfromdirectory“/etc/kubernetes/manifests”thismighttakeaminuteorlongerifthecontrolplaneimageshavetobepulledUnfortunately,anerrorhasocc

spring boot rabbitmq 如何保持顺序消费

RabbitMQ是一个消息代理和队列功能的开源实现,可以帮助构建分布式应用程序。SpringBoot集成RabbitMQ可以方便地在应用程序中使用消息队列,保持顺序消费可以通过以下方式来实现:单线程消费:使用一个线程消费消息,因为RabbitMQ的队列是有序的,所以保证单线程的消费能够保证消息的顺序。需要注意的是,单线程消费可能影响整体的性能。有序分片消费:将消息队列按照一定的规则进行分割,每个分片使用一个线程消费,这样可以减少单线程消费的性能影响。保证消息有序性的关键是要确保分片规则是有序的。使用RabbitMQ提供的优先级队列:优先级队列会按照消息的优先级进行排序,可以通过设置优先级来保证

Spring Boot 做单元测试,真心强悍!

SpringBoot提供了丰富的测试功能,主要由以下两个模块组成:spring-boot-test:提供测试核心功能。spring-boot-test-autoconfigure:提供对测试的自动配置。SpringBoot提供了一个 spring-boot-starter-test一站式启动器,如以下依赖配置所示。 org.springframework.boot spring-boot-starter-test test测试启动器依赖不仅包含以上两个SpringBoot模块,还包含SpringTest测试模块,以及其他第三方测试类库,如下所示。JUnit5:Java最主流的单元测试框架。As

【Spring Boot】Spring Boot源码解读与原理剖析

这里写目录标题前言精进SpringBoot首选读物“小册”变“大书”,彻底弄懂SpringBoot全方位配套资源,学不会来找我!技术新赛道,2023领先抢跑前言承载着作者的厚望,掘金爆火小册同名读物《SpringBoot源码解读与原理剖析》正式出书!本书前身是掘金社区销量TOP的小册——《SpringBoot源码解读与原理剖析》,整个社区中有3600+开发者都不约而同地选择了这本小册,也使它成为掘金社区首屈一指的王牌Spring教程,非常能打!这本小册让作者跃居2020年度人气榜Top40,喜提8枚荣誉勋章,站内销量遥遥领先,读者们称其为良心之作,纷纷点赞、打Call。不过,由于小册的体量和篇

Spring Boot 实现各种参数校验,写得太好了,建议收藏!

简单使用JavaAPI规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernatevalidation是对这个规范的实现,并增加了校验注解如@Email、@Length等。SpringValidation是对hibernatevalidation的二次封装,用于支持springmvc参数自动校验。接下来,我们以spring-boot项目为例,介绍SpringValidation的使用。引入依赖如果spring-boot版本小于2.3.x,spring-boot-starter-web会自动传入hibernate-validator依赖。如果spr

Spring Boot Actuator未授权访问漏洞

1.问题SpringBootActuator端点的未授权访问漏洞是一个安全性问题,可能会导致未经授权的用户访问敏感的应用程序信息。可是并不用太过担心,SpringBootActuator默认暴漏的信息有限,一般情况下并不会暴露敏感数据。注册中心有些功能集成了actuator,如果同时使用eureka和actuator,可以在eureka中点击注册链接查看健康状态信息(/actuator/info)。但是删除SpringBootActuator的引用对Eureka注册中心本身并没有直接影响。Eureka注册中心是用于管理微服务实例的,而SpringBootActuator提供了用于监控和管理单个