![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 90
mengao1234
mango
展开
-
Spring Boot 实现各种参数校验
目录 1、简单使用 1、引入依赖 2、requestBody参数校验 3、requestParam/PathVariable参数校验 4、统一异常处理 2、进阶使用 1、分组校验 2、嵌套校验 3、集合校验 4、自定义校验 5、编程式校验 6、快速失败 (Fail Fast) 7、@Valid和@Validated区别 3、实现原理 1、requestBody参数校验实现原理 2、方法级别的参数校验实现原理 1、简单使用 Java API规范 (JSR303) 定义了原创 2021-11-24 10:08:25 · 462 阅读 · 0 评论 -
spring cloud fegin 统一设置hearder中参数
在做接口请求时,我们经常会在header头中增加一些鉴权信息,如token 或 其他信息,那么在通过fegin从A server去调用B server的接口时,如果B server的接口需要header信息,我们需要将A sever获取的header转发到B上。 我们需要实现Feign提供的一个接口RequestInterceptor,具体代码如下: @Configuration public class FeignConfiguration implements RequestIntercep.原创 2020-12-17 15:37:36 · 381 阅读 · 2 评论 -
史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)(Finchley版本)
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图: 注意:A服务和B服务是可以相互调用的,作图的时候忘记了。并且配置服务也是注册到服务注册中心的。 在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(z...转载 2019-10-28 10:49:00 · 97 阅读 · 0 评论 -
springboot中spring.profiles.include的妙用。
我们有这样的一个springboot项目。项目分为开发、测试、生产三个不同阶段(环境),每个阶段都会有db、ftp、redis等的不同配置信息。我们可以使用spring.profiles.include来实现三种不同环境的一键切换。 项目总(入口)配置文件: bootstrap.yml,内容如下 spring.profiles.active:dev#dev、test、pro...转载 2019-10-24 11:13:31 · 1727 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)(Finchley版本)
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫...转载 2019-10-24 09:16:12 · 79 阅读 · 0 评论 -
上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)(Finchley版本)
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。 一、Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbo...转载 2019-10-23 09:55:02 · 139 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本)
在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。 一、ribbon简介 Ribbon is a client side load balancer ...转载 2019-10-12 09:08:02 · 83 阅读 · 0 评论 -
springboot @schedule和@Async定时任务的异步 同步 多任务并发
@schedule @schedule注解参数有如下 cron:cron表达式,指定任务在特定时间执行; fixedDelay:表示上一次任务执行完成后多久再次执行,参数类型为long,单位ms; fixedDelayString:与fixedDelay含义一样,只是参数类型变为String; fixedRate:表示按一定的频率...转载 2020-03-17 11:02:52 · 1358 阅读 · 0 评论 -
Spring的基础知识点,面试常问
1、Spring是什么? Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。 常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。 主要由以下几个模块组成: Spring Core:核心类库,提供IOC服务; Spring ...原创 2019-12-26 16:40:53 · 94 阅读 · 0 评论 -
springboot 注解实现AOP记录日志
AOP AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。在日常开发当中经常用来记录日志,方法跟踪、事务,权限等 切面方法说明: @Aspect -- 作用是把当前类标识为一个切面供容器读取 @Pointcut -- (切入点):就是带有通知的连接点,在程序中主要体现为书写切入点表达式...转载 2019-12-09 15:25:43 · 138 阅读 · 0 评论 -
Spring Schedule定时任务及其参数说明
SpringBoot 中使用 Schedule 定时任务非常简单,首先我们创建一个 SpringBoot 项目,在 application 启动类加上 @EnableScheduling 注解,如下: @SpringBootApplication @EnableScheduling public class ScheduledemoApplication { public stati...原创 2019-10-22 09:21:57 · 1904 阅读 · 0 评论 -
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/forezp/article/details/81040925</a> 一、spring cloud简介 鉴于《史上最简单的Spring Cloud教程》很受读者欢迎,再次我特意升级了一下版本,目前支持的版本为Spr...转载 2019-10-11 08:59:14 · 250 阅读 · 0 评论 -
在Spring中进行参数校验,格式化,参数范围,自定义校验规则的处理
使用背景 目前在项目中,参数校验的工作都在前端完成,而后端接口只处理业务逻辑,但是这种方式不太合理,绕过页面直接进行http请求,会有系统异常以及脏数据的风险,所以推荐使用Bean Validation 基于 JSR 303 - Bean Validation参数校验框架在后端接口做参数校验,格式化校验,以及参数可选范围的校验,这样既能规避大部分因参数缺失而产生的系统异常,也能在接口联调阶段,...转载 2019-10-07 11:49:07 · 784 阅读 · 0 评论