
Spring Boot
文章平均质量分 85
Spring Boot
morris131
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Hibernate Validator】@Valid与@Validated的联系与区别
Spring参数校验对比:@Valid与@Validated的深度解析 本文深入剖析Spring开发中@Valid(JSR-380标准)与@Validated(Spring扩展)的核心差异和实现机制。主要区别体现在: 规范来源:前者是Java标准,后者是Spring扩展 功能特性:@Validated支持分组校验但需配合@Valid实现嵌套校验 应用场景:@Valid适合Controller层请求体验证,@Validated适用于Service层方法校验 实现机制上: @Valid通过参数解析器触发,依赖H原创 2025-07-18 11:31:44 · 685 阅读 · 0 评论 -
【Hibernate Validator】高级特性
本文介绍了Hibernate Validator在Java企业开发中的高级应用。首先讲解了两种验证模式(普通模式和快速失败模式)及其配置方式,快速失败模式能提升性能但只返回首个错误。其次阐述了嵌套级联校验的实现方法,通过@Valid注解实现对象属性的递归验证。最后重点说明了分组校验机制,通过定义接口分组和@Validated注解实现在不同业务场景(如新增/更新)下应用不同的校验规则。这些特性共同构建了灵活高效的声明式校验体系,显著提升了代码质量和可维护性。原创 2025-07-17 15:49:01 · 380 阅读 · 0 评论 -
【Hibernate Validator】简单使用
Spring Boot参数校验最佳实践:告别if-else,拥抱声明式注解 摘要:传统Web开发中参数校验往往导致大量重复代码,而Spring Boot通过Hibernate Validator提供了一套优雅的解决方案。本文介绍了: 通过@NotBlank、@Pattern等注解实现声明式校验 GET请求需在Controller类上加@Validated POST请求在方法参数前加@Valid/@Validated 常见校验注解如@Email、@Size的使用场景 依赖配置和版本要求(需Spring Boo原创 2025-07-17 20:00:00 · 767 阅读 · 0 评论 -
【springdoc】Springdoc的使用
SpringDoc:Spring Boot API文档生成工具 SpringDoc是基于Spring Boot的开源库,用于自动生成符合OpenAPI 3规范的API文档。它通过扫描项目中的注解和配置,动态生成JSON/YAML/HTML格式的接口文档,并提供Swagger UI界面支持测试与可视化。 核心特性: 支持Spring WebMvc、WebFlux及Spring Security集成 兼容Spring Boot 3.x和JDK 17+,是SpringFox的替代方案 注解驱动,精细化描述接口(如原创 2025-06-26 13:56:29 · 1030 阅读 · 0 评论 -
【swagger】Swagger高级使用
Swagger高效API文档管理实践指南 本文深度解析Swagger在API文档管理中的进阶应用技巧。内容包括:通过Docket配置实现多业务模块分组展示;利用@ApiModelProperty隐藏敏感参数;使用@ApiImplicitParam和@ApiResponse精准定义接口参数与响应;推荐Knife4j替代原生UI以获得更美观界面和离线导出功能;重点演示了两种token参数配置方案——既支持单个接口手动添加,也提供全局自动注入header字段的解决方案。这些实践技巧有效解决了文档与代码不同步、参数原创 2025-06-26 20:00:00 · 557 阅读 · 0 评论 -
【swagger】Swagger的简单使用
Swagger是基于OpenAPI规范的RESTful API开发工具集,通过注解自动生成交互式文档和测试界面。核心功能包括:自动生成API文档(Swagger UI)、在线接口调试、支持多语言(Java/Python)和多组件(Editor/Codegen)。典型应用场景是Spring Boot项目,通过配置Docket实例和简单注解(如@Api、@ApiOperation)即可实现文档自动化,显著提升开发效率,减少前后端协作成本。主要优势在于实时同步代码与文档、可视化测试工具以及标准化的API描述规范。原创 2025-06-26 11:23:54 · 853 阅读 · 0 评论 -
【SpringBoot】发送各种复杂格式的邮件
在Spring Boot中发送带有附件、嵌入资源(如图片)、抄送(Cc)和密送(Bcc)的复杂邮件,你可以使用JavaMailSender接口和MimeMessageHelper类。原创 2024-11-18 14:16:23 · 28447 阅读 · 0 评论 -
【SpringBoot】发送简单邮件
在Spring Boot中发送邮件是一个常见的需求,通常使用JavaMail API结合Spring的邮件抽象来实现。Spring Boot提供了一个简单的配置和使用邮件发送的方法。原创 2024-11-18 14:14:22 · 16672 阅读 · 0 评论 -
【SpringBoot】使用过滤器进行XSS防御
在Spring Boot中,我们可以使用注解的方式来进行XSS防御。注解是一种轻量级的防御手段,它可以在方法或字段级别对输入进行校验,从而防止XSS攻击。而想对全局的请求都进行XSS防御可以使用servlet中的过滤器或者spring mvc中的拦截器,这里使用servlet中的过滤器进行演示。原创 2024-11-15 10:27:03 · 9912 阅读 · 0 评论 -
【SpringBoot】使用注解进行XSS防御
在Spring Boot中,我们可以使用注解的方式来进行XSS防御。注解是一种轻量级的防御手段,它可以在方法或字段级别对输入进行校验,从而防止XSS攻击。原创 2024-11-06 15:50:27 · 8904 阅读 · 0 评论 -
【SpringBoot】Xss的常见攻击方式与防御手段
跨站脚本攻击(Cross-Site Scripting,简称XSS)是一种常见的安全漏洞,攻击者通过在网页中注入恶意脚本,使得其他用户在浏览该网页时执行这些脚本,从而窃取敏感信息、劫持会话或进行其他恶意操作。在Java Web应用中,XSS攻击同样是一个需要重视的安全问题。XSS攻击是指攻击者在Web页面的输入数据中插入恶意脚本,当其他用户浏览该页面时,这些脚本就会在用户的浏览器上执行。原创 2024-11-06 15:46:50 · 12837 阅读 · 0 评论 -
【resttemplate】RestTemplate返回值乱码问题分析与解决
最后来学习一下MappingJackson2HttpMessageConverter,只有MappingJackson2HttpMessageConverter是GenericHttpMessageConverter类型,只有Response的header中的。这个问题我首先想到的是RestTemplate的MessageConverter消息转换器,首先找到RestTemplate解析response的地方。方式三:将所有的消息转换器的编码都修改为。,这就是乱码的根本原因。原创 2023-08-17 11:21:45 · 10285 阅读 · 0 评论 -
【loadbalancer】还在用Ribbon?试试Spring自带的LoadBalancer吧
Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客户端负载均衡器, 用来替代Ribbon。原创 2023-08-12 21:06:25 · 1617 阅读 · 0 评论 -
【webclient】WebClient的创建、使用,自定义过滤器
在Spring5中,出现了Reactive响应式编程思想,并且为网络编程提供相关响应式编程的支持,如提供了WebFlux,它是Spring提供的异步非阻塞的响应式的网络框架,相比传统的SpringMVC框架,可以充分利用多CPU并行处理一些功能,虽然不能提高单个请求的响应能力,但是总体可以提高多核的服务器性能,提高系统吞吐量和伸缩性,特别适合于IO密集型服务。WebClient提供的基于响应式的非阻塞的Web请求客户端,相对于传统的RestTemplate,他不阻塞代码、异步执行。原创 2023-08-12 18:56:46 · 2512 阅读 · 0 评论 -
【springboot】RestTemplate配置HttpClient连接池
在Java开发中,访问第三方HTTP协议的网络接口,通常使用的连接工具为JDK自带的HttpURLConnection、HttpClient(现在应该称之为HttpComponents)和OKHttp。这些Http连接工具,使用起来都比较复杂,如果项目中使用的是Spring框架,可以使用Spring自带的RestTemplate来进行Http连接请求。原创 2023-08-03 17:18:35 · 3736 阅读 · 0 评论 -
【springboot】RestTemplate序列化RedisSerializer到底该选哪个
RedisTemplate是Spring Data Redis提供给用户的最高级的抽象客户端,用户可直接通过RedisTemplate对Redis进行多种操作。在项目中使用需要引入如下依赖:原创 2023-07-12 11:39:44 · 938 阅读 · 0 评论 -
【springboot】如何动态修改日志级别???
在日常的开发过程中,为了方便定位问题,也为了甩锅,我们时常会打印一些日志,在开发,测试,生产各个环境中的日志级别可能不一样,在自己编码过程中为了方便调试打印了很多日志,但是生产中为了性能,为了节约存储资源,我们可能需要屏蔽掉一些不必要的日志,只保留一些关键的必要的日志。使用slf4j的api来打印日志,底层具体日志的打印可以使用logback、log4j等框架。slf4j中日志的级别优先级从高到低依次为:ERROR,WARN,INFO,DEBUG,TRACE。原创 2023-07-07 11:35:29 · 25734 阅读 · 0 评论 -
【springboot】@Value中#和$的区别
Value注解的作用主要可以给属性直接赋值、也可以读取配置文件中的值给属性赋值。$用来读取配置文件中的值。原创 2023-07-06 19:55:18 · 23892 阅读 · 0 评论 -
【SpringBoot】启动过程源码分析
最终会调用SpringApplication的构造方法。原创 2022-10-10 09:35:40 · 817 阅读 · 0 评论 -
【SpringBoot】@ConfigurationProperties注解的使用与源码分析
相信大家肯定了解@Value注解,它可以通过一个配置文件中的属性名与对象的属性进行绑定。@ConfigurationProperties注解的作用其实就类似于使用多个@Value注解同时绑定一个对象的多个属性,@ConfigurationProperties注解用于自动配置绑定,可以将application.properties配置中的值(准确来说是Environment中的属性值)注入到bean对象上,该注解的使用必须先将对象注入到IOC容器中才有配置自动绑定的功能。原创 2022-09-27 21:00:00 · 1797 阅读 · 0 评论 -
【springboot】自动整合Tomcat原理
通过前面我们会SpringBoot的自动配置机制、Starter机制、启动过程的底层分析,我们拿一个实际的业务案例来串讲一下,那就是SpringBoot和Tomcat的整合。我们知道,只要我们的项目添加的starter为:spring-boot-starter-web,那么我们启动项目时,SpringBoot就会自动启动一个Tomcat。那么这是怎么做到的呢?原创 2022-09-09 08:00:00 · 16188 阅读 · 0 评论 -
【springboot】自动配置原理
SpringBoot中的自动配置,更多的是配置各种Bean,因为对于第一种配置,SpringBoot也无法去配置,比如数据库地址、密码之类的,SpringBoot肯定是无法知道的,但是对于端口号这些配置,SpringBoot也是会提供一种默认值的,也相当于一种自动配置。那SpringBoot是如何自动的帮助我们来配置这些Bean的呢?并且如果某些Bean程序员自己也配置了,那SpringBoot是如何进行选择的呢?原创 2022-09-08 08:00:00 · 14887 阅读 · 0 评论 -
【springboot】各种条件注解与源码分析
SpringBoot中众多的条件注解,都是基于Spring中的@Conditional来实现的,所以我们先来用一下@Conditional注解。}/*** 根据条件判断是否注入对应的Bean* @param conditionContext 应用上下文* @param annotatedTypeMetadata 加了@Conditional注解的方法的元数据信息* @return} }原创 2022-09-07 21:30:00 · 1142 阅读 · 0 评论 -
【springboot】手写SpringBoot核心流程
通过手写模拟实现一个Spring Boot,就能以非常简单的方式就能知道Spring Boot大概是如何工作的。原创 2022-09-05 13:30:00 · 27324 阅读 · 2 评论