
springboot
文章平均质量分 70
木鱼-
过一天就要进步一点,而且不知道也会更多,还有每天都会忘记一点。所以每天还得做功课
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
解决:Loading class `com.mysql.jdbc.Driver‘. This is deprecated
问题:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.原创 2024-11-07 16:40:34 · 1931 阅读 · 0 评论 -
SpringBoot源码解读与原理分析(四十一)SpringBoot 2.3新特性:优雅停机
随后该方法会提取出嵌入式Tomcat中所有Engine中的所有Container,每隔50s检查一次Container是否停止,当所有Context中的线程全部执行完毕,即Context全部停止时,优雅停机流程执行完毕。“优雅停机”的新特性,是指在SpringBoot应用被关闭时(注意此处的关闭可以是kill -2,但不能是kill -9),会预留一小段时间,使应用内部的业务线程执行完毕。通过示例展示了如何配置和测试优雅停机,并详细剖析了嵌入式Tomcat的优雅停机实现过程。转载 2024-09-10 14:41:02 · 181 阅读 · 0 评论 -
spring 约定优于配置 spring boot约定大于配置
就会自动的帮我们导入 SpringMVC 的相关依赖(包括 Json 支持的 Jackson 和数据校验的 Hibernate Validator)和一个内置的 Tomcat 容器,这使得在开发阶段可以直接通过 main 方法或是 JAR 包独立运行一个 WEB 项目。当你觉得不合适的时候,可以用更少的改动,满足你的需要。约定优于配置,也有很多人解读为:约定大于配置,约定好于配置,习惯大于配置等。约定优于配置也就是说:系统,类库,框架应该提供有合理的默认值,而非要求提供不必要的配置。原创 2024-05-15 14:00:36 · 675 阅读 · 0 评论 -
【SpringBoot】Maven 版本管理与 flatten-maven-plugin 插件的使用及分析
默认只有打包的时候(package、install、deploy)会将 .flattened-pom.xml 做为当前项目的 pom 文件,但是打包类型 pom 的 pom.xml 中的占位符是不会被替换的。But,在大多数互联网公司中,几乎每个项目都处在版本快速迭代中,甚至一两周更新一个小版本,一个月更新一个大版本。我们可以在 spring-boot 和 spring-cloud-alibaba 的开源项目中看到,其就是利用 revision 占位符来进行统一版本管理的。2.1 先看一下自己构建的项目。转载 2024-03-12 14:02:55 · 5252 阅读 · 0 评论 -
spring-boot-starter-test的junit-vintage-engine和junit-jupiter-engine之间的区别
如果你的 Spring 项目使用的新的 Spring Boot 版本的话,你应该默认使用了 JUnit 5 的引擎,因此为了兼容性,你需要在 spring-boot-starter-test 这个 POM 引用的时候将 JUnit 4 的引擎去除掉。org.junit.jupiter.api.Test 和 org.junit.Test 同时存在,如果不小心引入了org.junit.Test ,那么就会发生这个spring 属性注入为null的情况。 区别:自己写的以前单元测试,是public。转载 2024-02-28 15:33:23 · 459 阅读 · 0 评论 -
Leaf(世界上没有两片完全相同的树叶)
Leaf中workId是基于ZooKeeper的顺序Id来生成的,每个应用在使用Leaf-snowflake时,启动时都会都在Zookeeper中生成一个顺序Id,相当于一台机器对应一个顺序节点,也就是一个workId。通常在用号段模式的时候,取号段的时机是在前一个号段消耗完的时候进行的,可刚刚才取了一个ID,数据库中却已经更新了max_id,也就是说leaf已经多获取了一个号段,这是什么操作?当前号段已消耗10%时,还没能拿到下一个号段,则会另启一个更新线程去更新下一个号段。留个悬念啊........转载 2024-02-22 10:41:19 · 168 阅读 · 0 评论 -
Spring Boot AutoConfig的顺序
前文讲了,我们可以得到如下的一些rule。转载 2023-11-09 10:10:32 · 724 阅读 · 0 评论 -
使用spring validation完成数据后端校验-自定义校验的注解-判断是否为空
使用spring validation完成数据后端校验转载 2022-07-26 14:42:39 · 2187 阅读 · 0 评论 -
Spring-Boot启动之前做了哪些事?
Spring-Boot启动之前做了哪些事?Spring Boot Jar文件探究初始化一个Spring 应用,添加如下依赖执行mvn package命令打包,查看jar包的目录结构需要使用tree命令,windows下直接使用tree即可,Mac需要安装brew install tree文件结构比较复杂,解释一下BOOT-INF/classes: 存放应用编译后的class文件;BOOT-INF/lib:class path目录, 存放应用依赖的jar包;META转载 2022-07-15 14:34:41 · 420 阅读 · 0 评论 -
SpringBoot使用Atomikos技术整合多数据源
SpringBoot使用Atomikos技术整合多数据源转载 2022-07-09 16:29:49 · 697 阅读 · 0 评论 -
mysql-connector-java的版本在gradle的强制依赖配置与spring-boot-dependencies内置版本的生效问题
mysql-connector-java的版本在gradle的强制依赖配置与spring-boot-dependencies内置版本的生效问题原创 2021-12-11 10:00:48 · 1429 阅读 · 0 评论 -
springboot的druid监控配置
druid的配置文档链接:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter本文的在这要说明spring中配置类写法的配置Druid监控:原创 2021-11-30 14:34:04 · 626 阅读 · 0 评论 -
spring @Configuration 注解配置
环境准备操作系统信息系统系统:centos7.2三台服务器:10.211.55.11/12/13安装包:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.rpmhttps://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-x86_64.rpmhttps://artifacts.elastic.co/downloads/logsta原创 2021-06-21 10:15:35 · 404 阅读 · 0 评论 -
SpringBoot中的SmartInitializingSingleton接口及其使用
一、使用场景实现SmartInitializingSingleton的接口后,当所有单例 bean 都初始化完成以后, Spring的IOC容器会回调该接口的afterSingletonsInstantiated()方法。主要应用场合就是在所有单例 bean 创建完成之后,可以在该回调中做一些事情,例如:import org.springframework.beans.factory.ListableBeanFactory;import org.springframework.beans.fa.转载 2021-06-15 15:01:09 · 3206 阅读 · 0 评论 -
spring boot-beans in application context form a cycle
spring的bean生成循环冲突了,如下图:要排除一些 配置@SpringBootApplication(exclude = {RedisAutoConfiguration.class,DataSourceAutoConfiguration.class, XADataSourceAutoConfiguration.class, JdbcTemplateAutoConfiguration.class})...原创 2021-06-11 17:55:35 · 360 阅读 · 0 评论 -
gateway网关的DataBufferLimitException报错问题
请求返回数据据内容长度(默认256K)支持做限制用的,如果请求体内容超过这个长度就抛异常查看源码发现,设置spring.codec.max-in-memory-size=-1,就不去做校验了具体方法所在:org.springframework.core.io.buffer.DataBufferUtils#join(org.reactivestreams.Publisher<?extendsorg.springframework.core.io.buffer.DataBuffer&g..原创 2021-03-05 16:52:51 · 2224 阅读 · 0 评论 -
springboot使用gradle打成tar包会找不到启动类
原因是多了个插件的原因:apply plugin: 'org.springframework.boot'但在dockerk要用到该插件的情况。直接上gradle脚本://apply plugin: 'org.springframework.boot'apply plugin: 'io.spring.dependency-management'dependencyManagement {imports {mavenBom 'org.springframewor...原创 2021-03-04 17:42:14 · 648 阅读 · 1 评论 -
SPRINGBOOT文件上传超限ORG.APACHE.TOMCAT.UTIL.HTTP.FILEUPLOAD.FILEUPLOADBASE$FILESIZELIMITEXCEEDEDEXCEPTION
一、错误原因springboot项目在上传较大文件时报错:Maximum upload size exceeded;org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.报错的原因是:springBoot项目自带的tomcat对上传的文件大小有默认.转载 2021-01-14 15:46:02 · 1920 阅读 · 0 评论 -
Spring Boot 2.0.0 Gradle构建自动依赖问题
Spring Boot 2.xx版本需Gradle插件3.5以上的版本新项目的build.gradle配置应该是这样的buildscript { ext { springBootVersion = '2.0.0.RELEASE' } repositories { mavenCentral() } dependencies { classpath "org.springframework.boot:spring-转载 2020-12-05 09:28:45 · 422 阅读 · 0 评论 -
Spring Boot之默认连接池配置策略
注意:如果我们使用spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa “starters”坐标,Spring Boot将自动配置HikariCP连接池, 因为HikariCP在性能和并发性相比其他连接池都要好。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring转载 2020-10-23 15:36:24 · 1438 阅读 · 0 评论 -
Spring-AOP SpringBoot自动配置和启动Spring AOP
SpringBoot会使用@Conditional*注解来进行判断是否需要自动启动AOP,如果classpath下有spring-aop的 jar 和有EnableAspectJAutoProxy类等,它就会自动开启spring-aop。并且此自动配置类还能通过SpringBoot的配置文件application.properties中配置的AOP相关属性进行选择,使用哪一种代理模式,非常智能。package org.springframework.boot.auto...转载 2020-10-16 10:26:18 · 2638 阅读 · 0 评论 -
SpringBoot中使用excludePathPatterns过滤Swagger路径失败
实际excludePathPatterns是起作用了,但是由于Swagger并不是只需要开放一个URL,而是有很多,可以通过浏览器f12查看被拦截的路径有哪些,然后全部开放即可。.excludePathPatterns("/swagger-ui.html").excludePathPatterns("/configuration/ui").excludePathPatterns("/swagger-resources").excludePathPatterns("/configuration/se转载 2020-08-19 15:58:54 · 3766 阅读 · 2 评论 -
SpringBoot 统一异常处理(附核心工具类-ErrorInfoBuilder)
序言:此前,我们主要通过在控制层(Controller)中手动捕捉异常(TryCatch)和处理错误,在SpringBoot 统一异常处理的做法主要有两种:一是基于注解ExceptionHandler,二是基于接口ErrorController,两者都可以让控制器层代码快速“瘦身”,让业务逻辑看起来更加清晰明朗! 本工程传送门:SpringBoot-Exception-Handler 一. 默认错误处理SpringBoot 默认为我们提供了BasicErrorController 来处理全局错误.转载 2021-06-28 10:16:44 · 705 阅读 · 0 评论 -
SpringBoot+RabbitMQ,保证消息100%投递成功并被消费
一、先扔一张图说明:本文涵盖了关于RabbitMQ很多方面的知识点, 如:消息发送确认机制 消费确认机制 消息的重新投递 消费幂等性, 等等这些都是围绕上面那张整体流程图展开的, 所以有必要先贴出来, 见图知意二、实现思路简略介绍163邮箱授权码的获取 编写发送邮件工具类 编写RabbitMQ配置文件 生产者发起调用 消费者发送邮件 定时任务定时拉取投递失败的消息, 重新投递 各种异常情况的测试验证拓展: 使用动态代理实现消费端幂等性验证和消息确认(ack.转载 2020-07-02 14:04:40 · 1334 阅读 · 0 评论 -
springboot 监控 Actuator
springboot 提供了对项目的监控功能。1.首先添加依赖包<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot...转载 2020-05-25 14:49:23 · 209 阅读 · 0 评论 -
springboot整合docker部署实现两种构建Docker镜像方式
https://www.jb51.net/article/158870.htmDocker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。docker的应用场景web应用的自动化打包和发布;自动化测试...转载 2020-04-14 16:06:08 · 1299 阅读 · 0 评论 -
浅析servlet的ServletContextListener与Spring的ApplicationListner
https://www.it610.com/article/4956002.htm1.简单剖析JSP中session、appliactioon创建过程在JSP中使用的session、application、pageContext的创建其实是在Servlet容器中实现的,JSP页面被在Servlet容器中会被转换为HttpServlet的一个子类(以tomcat为例,转换后的文件存储...转载 2020-02-27 11:27:51 · 1606 阅读 · 0 评论 -
Spring Factories
该文章转载自:https://blog.youkuaiyun.com/lvoyee/article/details/82017057Spring Boot中有一种非常解耦的扩展机制:Spring Factories。这种扩展机制实际上是仿照Java中的SPI扩展机制来实现的。什么是 SPI机制SPI的全名为Service Provider Interface.大多数开发人员可能不熟悉,因为这个是针...转载 2019-12-17 09:48:25 · 251 阅读 · 0 评论 -
springboot中@Value的工作原理
转截自:https://blog.youkuaiyun.com/gs_albb/article/details/85401720我们知道springboot中的Bean组件的成员变量(属性)如果加上了@Value注解,可以从有效的配置属性资源中找到配置项进行绑定,那么这一切是怎么发生的呢?下文将简要分析一下@Value的工作原理。springboot版本: springboot-2.0.6.RELEA...转载 2019-07-17 11:11:46 · 2301 阅读 · 0 评论 -
SpringBoot基础之MockMvc单元测试
版权声明:本文为博主原创文章,转载请写明出处。 https://blog.youkuaiyun.com/wo541075754/article/details/88983708SpringBoot创建的Maven项目中,会默认添加spring-boot-starter-test依赖。在《5分钟快速上手SpringBoot》中编写的单元测试使用了MockMvc。本篇文章就围绕MockMvc在Spring...转载 2019-04-04 10:55:19 · 242 阅读 · 0 评论 -
Spring Boot 静态资源处理
Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。建议大家使用Spring Boot的默认配置方式,如果需要特殊处理的再通过配置进行修改。如果想要自己完全控制WebMVC,就需要在@Configuration注解的配置类上增加@EnableWebMvc(@SpringBootApplication 注解的程序入口类...转载 2019-03-22 15:09:23 · 260 阅读 · 0 评论