springboot2 springboot spring3 spring

spring 中的类型转换工具类

在看 org.springframework.data.redis.support.atomic.RedisAtomicInteger 的源码时,发现了 Spring 的一个类型转换的工具类:DefaultConversionService 能够轻松的将 String 类型和其他类型进行相互转换。 ......
类型 工具 spring

Spring-第三章:AOP(面向切面编程)

三、AOP(面向切面编程) 1、AOP & 代理模式 2、动态代理:JDK动态代理和CGLIB技术 2.1 动态代理 2.2 cglib技术 2.3 AOP原理 2.4 案例 3、Spring AOP 1.x配置 3.1 Spring AOP的配置方式 3.2 Spring AOP 1.x (1)前 ......
切面 第三章 Spring AOP

Spring-第二章:IoC容器

二、IoC容器 1、IoC Ioc必须要添加的四个包 2、DI 3、第一个程序 4、IoC容器的类型 5、数据装配 toString方法不是构造方法 不同bean之间的引用使用ref Array:数组 值可重复 Set:集合 值不可重复 Map:键值对 6、bean生命周期 6.1 练习 7、实例化 ......
容器 第二章 Spring IoC

Spring Cloud Gateway的Filter中如果有耗时操作应该如何处理?

1,如果不处理,会大大影响吞吐量; 2,spring cloud gateway是reactive的编码风格,改造代码难度很大,很不习惯; 3,spring cloud gateway使用事件线程处理一个http请求 4,事件线程比较少(参考netty event loop),不能有耗时操作,否则影 ......
Gateway Spring Filter Cloud

项目实战接口开发SpringBoot

目录一、springboot官方demo开发二、使用SpringBoot开发get方法接口三、一个要求携带cookie信息访问的get接口开发四、需要携带参数的get请求两种开发方式4.1 方式1:url:key=value&key=value4.2 方式2:url:ip:port/get/with ......
SpringBoot 实战 接口 项目

Java Spring Boot 规范统一响应体结构

在进行 web开发 中,如果我们的返回数据不统一,会是啥样呢,比如像下面这种: @RestController public class DemoController { @GetMapping("/haha") public Object haha() { return ""; } @GetMap ......
结构 Spring Java Boot

Java Spring Boot 自定义异常与全局异常处理

我们在对比 过滤器与拦截器 一文中,知道请求过来,各种拦截处理的顺序: 1.过滤器 2.拦截器 3.controllerAdvice 4.AOP 5.controller 6.AOP 7.controllerAdvice 8.拦截器 9.过滤器 今天我们学习的 自定义异常与异常处理 这块内容,恰好就 ......
全局 Spring Java Boot

Java Spring Boot 过滤器的使用与拦截器对比

在 web 应用中,早期在 servlet 中使用 filter过滤器,随着 spring 的发展,不同于依托 servlet容器,拦截器依托 Spring框架 应用也很广泛。 今天主要内容分两部分: 1.filter的使用 2.filter和interceptors对比 filter的使用 导入依 ......
过滤器 Spring Java Boot

spring boot项目中org.springframework.boot.autoconfigure.AutoConfiguration.imports和META-INF.spring下的文件的作用汇总

一、resource下的文件 org.springframework.boot.autoconfigure.AutoConfiguration.imports spring.factories messages_zh_CN.properties 二、spring.factories文件我们知道在sp ......

SpringBoot中项目启动及定时任务缓存数据库常用数据至内存变量并转换后高频调用

场景 定时任务中需要获取数据库中数据进行数据转换成需要的格式并进行后续的业务处理。 数据库中的数据更新频率不高。 可将数据库中数据在项目启动后读取一遍数据,然后再通过定时任务定时查询数据库更新数据。 实现数据库缓存的方式有多种,比如以下: SpringBoot中通过自定义缓存注解(AOP切面拦截)实 ......
数据 缓存 变量 SpringBoot 内存

浅谈一下对SpringBoot的理解

简化Spring + SpringMVC的开发 1. Maven 导入依赖 Starter 依赖管理:Spring Boot 的 Starter 依赖简化了项目的依赖管理。通过导入预配置的 Starter 依赖,开发者可以轻松地引入一组相关的库和配置,而无需手动管理每个库的版本和依赖关系。 约定大于 ......
SpringBoot

别再重复造反射轮子了,Spring 中的 ReflectionUtils 工具类,应有尽有!

作者:策马踏清风 链接:https://www.jianshu.com/p/756778f5dc87 ReflectionUtils是spring针对反射提供的工具类。 handleReflectionException异常处理 推荐一个开源免费的 Spring Boot 实战项目: https:/ ......

SpringBoot 中使用 Filter

Filter 是 JavaEE 中 Servlet 规范的一个组件,位于包javax.servlet 中,它可以在 HTTP 请求到达 Servlet 之前,被一个或多个Filter处理。 它的工作流程如图: Filter的这个特性在生产环境中有很广泛的应用,如:修改请求和响应、防止xss攻击、包装 ......
SpringBoot Filter

Spring Cache + Caffeine的整合与使用

前言 对于一些项目里需要对数据库里的某些数据一直重复请求的,且这些数据基本是固定的,在这种情况下,可以借助简单使用本地缓存来缓存这些数据。这些介绍一下Spring Cache和Caffeine的使用。 引入依赖和CacheConfig 在pom文件里面引入下面的依赖: <dependency> <g ......
Caffeine Spring Cache

【转载】Springboot2.x单元测试

参考 https://blog.csdn.net/wangxi06/article/details/114630426 https://blog.csdn.net/qq_44381387/article/details/120869168 (新版spring-boot-starter-test不再集 ......
Springboot2 Springboot 单元

Spring状态机

1.依赖 <!--状态机--> <dependency> <groupId>org.springframework.statemachine</groupId> <artifactId>spring-statemachine-core</artifactId> <version>2.0.1.RELE ......
状态 Spring

SpringBoot接收日期参数异常

org.springframework.validation.BindException: Failed to convert from type [java.lang.String] to type [@io.swagger.annotations.ApiModelProperty java.s... ......
SpringBoot 参数 日期

SpringBoot中@Transactional失效场景

一、背景: 1、需求 定时器需要定时到“消息通知表”中获取“消息反馈表”中不存在的数据,遍历这些数据,并对每一条数据发起流程,不管发起成功与否都需要往消息反馈表中插入一条该数据的发起结果,若发起成功还需要往“核查案件表”中插入一条该案件的主表数据 2、问题: 发现在发起流程过程中,抛出了异常,但是事 ......
Transactional SpringBoot 场景

国产化软件新浪潮: spring 改造替代...

Java 新的应用开发框架:更快、更小、更简单。 启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10;同时支持 jdk8, jdk11, jdk17, jdk21;支持 graalvm native image。 ......
国产 spring 软件

springboot虚拟线程(jdk21,springboot3.2.0)

1. 什么是虚拟线程 虚拟线程是JDK21版本正式发布的一个新特性。虚拟线程和平台线程主要区别在于,虚拟线程在运行周期内不依赖操作系统线程:它们与硬件脱钩,因此被称为“虚拟”。这种解耦是由JVM提供的抽象层赋予的。 虚拟线程的运行成本远低于平台线程。它们消耗的内存要少得多。这就是为什么我们可以创建数 ......
springboot 线程 springboot3 jdk 2.0

Spring Cloud Seata系列:基于AT模式实现分布式事务

目录前提Seata的AT模型流程梳理一阶段:二阶段-回滚二阶段-提交脏写问题写隔离读隔离优缺点AT与XA的区别实现AT模式 https://seata.io/zh-cn/docs/dev/mode/at-mode AT模式同样是分阶段提交的事务模型,不过缺弥补了XA模型中资源锁定周期过长的缺陷。 前 ......
分布式 事务 模式 Spring Cloud

springboot004旅游路线规划系统(Java毕业设计,附数据库和源码)

第一章 绪 论1.1选题背景与研究意义随着社会的不断进步,在居民生活水平提高的同时,人们当前在生活的方方面面也越来越注重服务所带来的体验,随着近几年国家政策大力发展旅游业,旅游景点的建设越来也完善,旅游业的发展速度得到了显著的提升。各大旅行社、旅游景点都不断的推出新的活动计划吸引游客,随之而来的各家 ......

SpringBoot——学习笔记

目录 1 SpringBoot工程主要组成部分 2 SpringBoot 2.x.x 要求 Spring 5版本;Spring 5 要求 JDK 1.8; 3 SpringBoot——Helloword 3.1 创建工程 可能出现的报错 1 SpringBoot工程主要组成部分:主启动类(必须有)、 ......
SpringBoot 笔记

springboot下文件上传。

1.本地上传到E盘下的image目录 @Slf4j @RestController public class UploadController { @PostMapping("/upload") public Result upload(MultipartFile image) throws IOE ......
springboot 文件

Spring Boot应用启动 java -jar

1.系统参数的标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格,则用引号括起来 #1.基本java -jar run.jar #2.指定java 路径nohup /opt/mdw/jdk1.8.0_241/bin/java -jar run.jar #3 ......
Spring Boot java jar

【转载】SpringBoot2.x使用Assert校验(非单元测试)

参考 https://blog.csdn.net/yangshangwei/article/details/123105926 环境 环境 版本 操作 windows 10 JDK 11 Springboot 2.3.12.RELEASE 注意 引入的包为 import org.springfram ......
SpringBoot2 SpringBoot 单元 Assert

spring 怎么解决循环依赖的

spring 怎么解决循环依赖的 理解spring的生命周期 分为容器启动阶段、bean的实例化阶段、bean的属性注入阶段、bean的初始化阶段、bean的缓存阶段、bean的销毁阶段 怎么解决循环依赖 假设有两个对象 X和Y,X依赖了Y,Y依赖了X,spring能解决循环依赖,底层主要接住了3个 ......
spring

springboot+VUE——mybatis分页和Element Plus的分页组件实践

分页只有基础的分页功能,跳转和动态选择每页展示多少条数据的功能可以参考Element Plus的分页组件自行配置并且传入相应的方法即可! <script lang="ts" setup> /** * 分页变量数据 */ const pagination = ref({ current_page: 1 ......
springboot 组件 Element mybatis Plus

大公司为什么禁止在SpringBoot项目中使用@Autowired注解?

Spring官方已不推荐使用Autowired字段/属性注入bean,一些大公司的新项目也明令禁止使用了。 所以今天就来跟你们讲下spring框架可以使用的不同类型的依赖注入,以及每种依赖注入的适用情况。 一、依赖注入的类型 尽管针对spring framerwork 5.1.3的文档只定义了两种主 ......
注解 SpringBoot Autowired 项目 公司

springboot-micrometer潜在oom问题解决办法

在服务中起一个监听Prometheus 拉取的线程,在拉取完成之后清理调meterMap中内容比较多的tag,我这边是清理调gateway.requests.代码如下: @Component public class PrometheusMeterRegistryFactory { @Resourc ......