![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Boot
文章平均质量分 72
码学弟
这个作者很懒,什么都没留下…
展开
-
Springboot 之 @EnableConfigurationProperties 注解
用springboot开发的过程中,我们会用到**@ConfigurationProperties注解,主要是用来把properties或者yml配置文件转化为bean来使用的,而@EnableConfigurationProperties**注解的作用是@ConfigurationProperties注解生效。转载 2024-05-27 09:20:51 · 63 阅读 · 0 评论 -
Not annotated parameter overrides @NonNullApi parameter
这个警告看起来很不友好,看起来是让你加上@NotNull注解或者@NonNullApi ,但是加了根本没用!提示Not annotated parameter是说没有给参数加注解,至于加啥注解提示里没说。这个提示是说因为被重写的方法的包被这个@NonNullApi注解了,所以方法参数也需要被注解。在package-info.java文件中给包加上@NonNullApi注解。直译:没有被注解的参数重写了@NonNullApi参数。虽然只是警告 但是强迫症很难受!直接给参数添加@Nonnull注解。转载 2024-05-21 15:19:49 · 436 阅读 · 0 评论 -
SpringBoot 使用 beforeBodyWrite 实现统一的接口返回类型
就是我们在我们自己写的的方法中,将返回值用 Result 包装过后再将Result 转为 String 类型进行返回。@Override。转载 2024-05-21 14:21:03 · 53 阅读 · 0 评论 -
正规军springboot如何处理:参数校验、统一异常、统一响应
本篇主要要介绍的就是controller层的处理,一个完整的后端请求由4部分组成:1.接口地址(也就是URL地址)、2.请求方式(一般就是get、set,当然还有put、delete)、3.请求数据(request,有head跟body)、4.响应数据(response)当接收到请求时,如何优雅的校验参数返回响应数据该如何统一的进行处理接收到请求,处理业务逻辑时抛出了异常又该如何处理。转载 2024-05-21 09:20:35 · 83 阅读 · 0 评论 -
【Spring篇】Spring的三大特性
简单描述就是:将程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对自己的已有方法进行增强。(3)能注入的数据:基本类型和string,其他bean类型(在配置文件或者注解配置过的bean),复杂类型/集合类型。(指的是在spring的ioc核心容器中出现过的bean对象)。ref:用于指定其他的bean类型数据,它指的就是在spring的IOC核心容器中出现过的bean对象。只要容器中有唯一的一个bean对象类型和要注入的变量类型匹配,就可以注入成功。转载 2024-02-20 16:37:59 · 661 阅读 · 0 评论 -
SpringBoot中使用Aspect实现切面,超详细
Spring中的Aspect,这是Spring的一大优势。面向切面编程往往让我们的开发更加低耦合,也大大减少了代码量,同时呢让我们更专注于业务模块的开发,把那些与业务无关的东西提取出去,便于后期的维护和迭代。相关的学习教程是看的动力节点的视频,然后整理了这篇博客作为笔记,方便以后复习时候看看,也分享给有需要的小伙伴。转载 2024-02-20 16:16:25 · 1443 阅读 · 0 评论 -
SpringBoot集成JPA和Clickhouse数据库
改造jpa默认的批量插入方法。转载 2024-02-08 15:05:46 · 357 阅读 · 1 评论 -
SpringBoot 集成 WebSocket 实现服务端消息主动推送
WebSocket协议是基于TCP的一种新的网络协议。它实现了客户端与服务器全双工通信,学过计算机网络都知道,既然是全双工,就说明了服务器可以主动发送信息给客户端。这与推送技术或者是多人在线聊天的功能不谋而合。为什么不使用HTTP 协议呢?这是因为HTTP是单工通信,通信只能由客户端发起,客户端请求一下,服务器处理一下,需要频繁建立连接信道,延迟大且麻烦。于是websocket应运而生。转载 2024-02-04 15:36:57 · 337 阅读 · 0 评论 -
idea springboot woff/woff2/eot/ttf/svg等小图标不显示的问题
【代码】idea springboot woff/woff2/eot/ttf/svg等小图标不显示的问题。转载 2024-02-02 14:25:50 · 209 阅读 · 0 评论 -
MapStruct复制失败,属性为null,与lombok有关系
今天我搭建项目的时候发现,使用MapStruct复制对象失败了,复制后所有的对象属性都为null。我一再检查,确信自己依赖没有引入错误,也没有什么特殊的配置,就是很简单的一个对象复制。然后我就在网上查,网上找,都不尽如意。我之前搭的一个demo就一下子成功了,没有丝毫问题。于是我就把那个demo与这个项目比对一下,到底有什么区别,是什么导致那个demo能成功,这个项目就失败呢?转载 2024-01-10 14:43:52 · 337 阅读 · 0 评论 -
SpringBoot DelayQueue实现延时队列
DelayQueue是一个无界阻塞队列,只有在延迟期满时,才能从中提取元素。队列的头部,是延迟期满后保存时间最长的delay元素。在很多场景我们需要用到延时任务,比如给客户异步转账操作超时后发通知告知用户,还有客户下单后多长时间内没支付则取消订单等等,这些都可以使用延时任务来实现。jdk中DelayQueue可以实现上述需求,顾名思义DelayQueue就是延时队列。DelayQueue提供了在指定时间才能获取队列元素的功能,队列头元素是最接近过期的元素。转载 2024-01-08 21:25:22 · 277 阅读 · 0 评论 -
springboot:使用thymeleaf实现html前端页面和controller控制层数据交换
这个配置写完就ok了,以后想请求直接跳转页面就写这个就行。如果请求多,且都只是单纯跳转页面的话,每一个都这么写实在是太难受了。正常thymeleaf使用中,前端发送的请求如果。转载 2023-12-25 09:09:08 · 289 阅读 · 0 评论 -
springboot3.2 整合 mybatis-plus
主要是由于 mybatis-plus 中 mybatis 的整合包版本不够导致的。排除 mybatis-plus 中自带的 mybatis 整合包,单独引入即可。springboot3.2 正式发布了 迫不及待地的感受了一下。转载 2023-12-21 11:18:17 · 502 阅读 · 0 评论 -
SpringBoot整合Dubbo3.0基础配置
SpringBoot是我们喜欢的项目配置框架,因为不用写xml,使用配置文件来约定我们的配置。本demo项目采用父子模块结构,解决了SpringBoot项目父子模块依赖的问题,可作为其他类似结构项目的参考。我们本着依赖最小化原则,不需要的依赖我们不引入。,现在dubbo由Apache在维护更新,dubbo也已经成了Apache下的顶级项目。帮我们构建、管理、打包项目,还不会生成一些不需要的文件夹和文件,省去自己去做这些的麻烦,避免项目打包后运行出错。下面我们删除不需要的依赖,建立我们自己的依赖管理。转载 2023-11-22 17:09:42 · 339 阅读 · 0 评论 -
springboot启动类剔除扫描某个包springboot启动类剔除扫描某个包
适用于依赖api或者其他包时,一些不必要或不支持的对象被扫描到,引发的报错或内存占用等问题。通过该配置可以去掉这些不必要的扫描。通过该注解配置,可以实现剔除某个包,让Spring不自动扫描该包下的内容。转载 2023-11-21 14:41:10 · 1038 阅读 · 0 评论 -
Spring Boot全局异常处理器(原理及使用详解)
软件开发springboot项目过程中,不可避免的需要处理各种异常,spring mvc架构中各层会出现大量的try{…} catch{…} finally{…}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。这样就需要定义个全局统一异常处理器,以便业务层再也不必处理异常。Spring在3.2版本增加了一个注解@,可以与@ExceptionHandler、@InitBinder、@ModelAtribute等注解配套使用。转载 2023-11-21 09:53:41 · 2855 阅读 · 0 评论 -
found character ‘@‘ that cannot start any token. (Do not use @ for indentation)
【代码】found character ‘@‘ that cannot start any token. (Do not use @ for indentation)转载 2023-11-20 16:03:21 · 265 阅读 · 0 评论 -
SpringBoot整合线程池(打印线程池情况)
封装ThreadPoolTaskExecutor线程池1、新增application.yml配置这里主要是配置ThreadPoolTastExecutor比较重要的参数thread: poolexecutor: corePoolSize: 10 # 核心线程数量 maxPoolSize: 30 # 最大线程数量 queueCapacity: 100 # 队列长度 keppAliveSeconds: 60 # 存活时间 prefixName: "taskExe转载 2023-11-13 10:50:27 · 610 阅读 · 0 评论 -
数据分表Mybatis Plus动态表名最优方案的探索
大家先对上面的代码有一个基础了解,看了下面的测试过程,再回头看上面的代码中的注释,就比较好理解了。需要关注的部分,我都已经给大家添加了注释。Student 实体类与student表是一一对应的关系,如果我们希望将学员表按照月份进行分表,比如:student_202206、student_202207、student_202208,即产生了。当我们执行这个单元测试用例的时候,我们发现控制台打印出如下信息,注意看SQL的部分,真的是去查询student_202208这张表了,而不是student表。转载 2023-10-31 15:50:48 · 1065 阅读 · 0 评论 -
Spring去掉默认绑定的common-logging.jar,log配置文件的配置
slf4j可以选择不同的日志框架,比如log4j,logback等等,这里用logback。通过jcl-over-slf4j很干净的干掉所有commons-logging.jar。可以根据实际状况来调整输出的格式跟日志级别。logback 配置文件。转载 2023-10-17 15:45:03 · 613 阅读 · 0 评论 -
@DateTimeFormat、@JsonFormat、@JSONField区别及用法
也可以使用String接收,这样就不用写注解了。转载 2023-10-16 17:04:23 · 305 阅读 · 0 评论 -
JAVA 接收的参数非必传项
【代码】JAVA 接收的参数非必传项。转载 2023-10-16 15:09:38 · 289 阅读 · 0 评论 -
【SpringBoot】Apache ShenYu 快速开始(examples使用apache dubbo)
避免重复造轮子,并且官方文档比较丰富,提供了中文,涉及到官网有的直接提供链接。https://shenyu.apache.org/zh官方文档:https://shenyu.apache.org/zh/docs/index官方提供多种方式,为了比较直观,我们采用本地构建的方式下载代码:编译代码大家都知道,有时我们会写一下通用的maven 工程给其他工程依赖,这时本地运行时,需要把那些被依赖的工程 install 到本地maven 仓库,当然你也可以上传到私服,具体不做阐述,请读者自行百度。使用idea转载 2023-10-12 10:55:16 · 221 阅读 · 0 评论 -
【SpringBoot】Apache-Shenyu入门教程(examples使用shenyu-examples-http)
在功能方面,它使用插件化的设计思想,支持许多常见的协议:如 http/https, Dubbo、 Spring Cloud、 GRPC、 Motan、 Sofa、 Tars等。在流量控制方面,有精美的Admin控制台,能够精准,动态控制流量,满足复杂的业务场景。编程方式开发的,具有异步,高性能,跨语言等特性的 API 网关。至此,apache-shenyu基本demo就跑起来了。注意:这个下载依赖包需要一个过程,耐心等待……2、点击fork,将代码fork到自己的仓库。1、先登陆git网站,进入。转载 2023-10-12 10:28:23 · 387 阅读 · 0 评论 -
SpringBoot 3.1.x 集成spring-boot-admin 3.1.x(解决Httptrace功能丢失问题)
spring-boot-admin官方使用文档官方github源码地址官方gitee源码镜像,可能与新版本间存在差异。转载 2023-10-11 14:19:56 · 371 阅读 · 0 评论 -
SpringBoot集成flyway进行MySQL数据库版本控制
版本迁移(Versioned Migrations)以V开头,只会执行一次;回退迁移(Undo Migrations)以U开头,执行一旦发生破坏性更改,就会很麻烦,项目中一般不用;可重复执行迁移(Repeatable Migrations)以R开头,每次修改后都会重新执行。可重复运行的SQL,则以大写的“R”开头,后面再以两个下划线分割,其后跟文件名称,最后以.sql结尾。比如,RaddTable.sql,Rupdate_user.sql。版本号需要唯一,否则Flyway执行会报错;转载 2023-10-09 14:52:05 · 503 阅读 · 0 评论 -
JWT最详细教程以及整合SpringBoot的使用(简洁易上手)
RFC 7519HMACRSAorECDSAJSON Web Token (JWT)是一种开放标准(RFC 7519),它定义了一种紧凑和自包含的方式,用于作为JSON对象在各方之间安全地传输信息。这个信息可以被验证和信任,因为它是数字签名的。JWTs可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。通俗的解释JWT简称JSON Web Token,也就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。转载 2023-10-07 14:00:04 · 1606 阅读 · 0 评论 -
如何在非controller层,注入service层
【代码】如何在非controller层,注入service层。转载 2023-10-07 11:16:17 · 79 阅读 · 0 评论 -
【SpringBoot 3.x】使用starter整合Druid
Druid是阿里巴巴的一个,号称为监控而生的数据库连接池,在功能、性能、扩展性方面都超过其他例如DBCPC3P0BoneCPProxool等连接池,而且Druid已经在阿里巴巴部署了超过600个应用,通过了极为严格的考验,这才收获了大家的青睐!转载 2023-08-23 16:32:15 · 323 阅读 · 0 评论 -
spring boot 整合 beetlSQL和 druid 多数据源
markdown 中使用```sql是可选的,好处在于帮助 IDE 或者其他工具能对 sql 进行。sqlManager的basePackage对应的数据源ds不同。转载 2023-08-22 18:06:24 · 252 阅读 · 0 评论 -
Failed to start bean ‘documentationPluginsBootstrapper‘
springboot 升级到 2.6.0之后,swagger版本和springboot出现了不兼容情况。降低Spring Boot 版本,比如可以考虑将Spring Boot版本降低为2.5.6。版本信息:spring boot:2.7.6,swagger:2.8.0。,用于生成 Web API 文档。在启动类 或 配置类 添加注解。Spring Boot 整合。转载 2023-07-06 16:45:38 · 12151 阅读 · 1 评论 -
Springboot ✚ Swagger各版本整理
请求路径与 Spring MVC 处理映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser。你可以设置spring.mvc.pathmatch.matching-strategy为ant-path-matcher来改变它。application.yml 或applicaiton.properties 中添。,访问方式和之前的保持一致,如果项目中配置拦截器等,需要放开doc.html静态资源。如果升级springboot到2.6之后,需要设置。来兼容Swagger2。转载 2023-07-06 16:42:25 · 2301 阅读 · 0 评论