![](https://img-blog.csdnimg.cn/20200422175609527.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring 全家桶
文章平均质量分 77
spring 相关
大米饭66
这个作者很懒,什么都没留下…
展开
-
Nacos快速使用指南
快速入手配置项和注意项原创 2023-02-21 16:49:32 · 499 阅读 · 0 评论 -
Springboot redis 入门示例
Springboot redis 入门示例1. 概述在快速入门 Spring Boot 整合 Redis 之前,我们先来做个简单的了解。在 Spring 的生态中,我们使用 Spring Data Redis 来实现对 Redis 的数据访问。市面上已经有 Redis、Redisson、Lettuce 等优秀的 Java Redis 工具库,为什么还要有 Spring Data Redis 呢?不要慌,我们先来看一张图:![](https://img-blog.csdnimg.cn/img_conve原创 2020-10-09 16:51:34 · 590 阅读 · 0 评论 -
Spring Cloud Alibaba Sentinel 服务熔断和限流
前言:为什么需要流控降级我们的生产环境经常会出现一些不稳定的情况,如:大促时瞬间洪峰流量导致系统超出最大负载,load 飙高,系统崩溃导致用户无法下单 “黑马”热点商品击穿缓存,DB 被打垮,挤占正常流量 调用端被不稳定服务拖垮,线程池被占满,导致整个调用链路卡死这些不稳定的场景可能会导致严重后果。大家可能想问:如何做到均匀平滑的用户访问?如何预防流量过大或服务不稳定带来的影响?这时候我们就要请出微服务稳定性的法宝 —— 高可用流量防护,其中重要的手段就是流量控制和熔断降级,它们是保障微服务稳原创 2020-09-28 14:06:57 · 263 阅读 · 0 评论 -
Spring Cloud Alibaba Dubbo 分布式服务调用
Spring Cloud Alibaba 分布式服务调用1. 简介在《Spring Cloud Alibaba 服务注册与发现》篇中曾提到,Spring Cloud Alibaba Nacos Discovery 能无缝整合 Spring Cloud OpenFeign。换言之,Spring Cloud Alibaba 延续了 Spring Cloud 分布式服务调用的特性。除此之外,Spring Cloud Alibaba 引入了 Dubbo Spring Cloud,扩展了分布式服务调用能力,不原创 2020-09-27 10:37:18 · 502 阅读 · 0 评论 -
Spring Cloud Alibaba Nacos 服务注册与发现
Spring Cloud Alibaba 服务注册与发现1. 简介服务注册与发现是微服务架构体系中最关键的组件之一。如果尝试着用手动的方式来给每一个客户端来配置所有服务提供者的服务列表是一件非常困难的事,而且也不利于服务的动态扩缩容。Nacos Discovery 可以帮助您将服务自动注册到 Nacos 服务端并且能够动态感知和刷新某个服务实例的服务列表。除此之外,Nacos Discovery 也将服务实例自身的一些元数据信息-例如 host,port, 健康检查URL,主页等内容注册到 Naco原创 2020-09-26 23:51:25 · 745 阅读 · 0 评论 -
Spring Cloud Alibaba Nacos 分布式配置
Spring Cloud Alibaba 分布式配置1. 简介Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。Spring Cloud Alibaba Nacos Config 是 Config Server 和 Client 的替代方案,客户端和服务器上的原创 2020-09-26 23:50:42 · 1132 阅读 · 0 评论 -
Spring Cloud alibaba 微服务概述
前言近些年随着云技术的发展,越来越多的用户选择使用云技术来代替将传统的 IT 基础设施。在云技术发展的早期,业界的关注点集中在虚拟化、分布式、存储等 Iaas 方面的技术。但是随着“云原生”概念的提出,大家的注意力开始转移到如何构建更加适合云环境运行的应用上来。“什么样的架构才是适合在云环境中运行”是一个非常大的问题,在此先不展开讨论,而是到 CNCF 对云原生的定义中寻找答案:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器原创 2020-09-26 23:49:20 · 624 阅读 · 0 评论 -
Spring Ant 路径匹配
背景最近有一个功能设计path匹配,开发说支持ant匹配,这是我第一次听说这个词,赶紧补一下功课。Ant匹配规则1.前言(1)SpringMVC的路径匹配规则是按照Ant来的,实际上不只是SpringMVC,整个Spring框架的路径解析都是按照Ant的风格来的。(2)AntPathMatcher不仅可以匹配Spring的@RequestMapping路径,也可以用来匹配各种字符串,包括文件路径等。2.基本规则wildcard description ? 匹配任何原创 2020-09-21 16:11:29 · 650 阅读 · 0 评论 -
Springboot 整合 Kafka入门
Springboot 整合 Kafka入门kafka 简介Kafka 特点Kafka 最早是由 LinkedIn 公司开发一种分布式的基于发布/订阅的消息系统,之后成为 Apache 的顶级项目。主要特点如下:同时为发布和订阅提供高吞吐量Kafka 的设计目标是以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对TB 级以上数据也能保证常数时间的访问性能。即使在非常廉价的商用机器上也能做到单机支持每秒 100K 条消息的传输。消息持久化将消息持久化到磁盘,因此可用于批量消费,原创 2020-09-16 21:04:27 · 1127 阅读 · 0 评论 -
Springboot + nacos 实现注册中心和配置中心
Springcloud + nacos 实现注册中心和配置中心前言:我们知道在当前微服务分布式的解决方案中,注册中心和配置中心,我们之前都是使用eureka和springcloud config ,但是eureka停更,config的易用性比较低,对git的依赖性太高。近几年阿里巴巴开源的 nacos 挺不错,cap三大定律可以切换,也可以和eureka一样高可用,并且整合起来比较简单,配置上也有可视化界面。我们来一个入门的小例子来了解下nacos。首先我们要有1个可用的eureka服务端。使用d原创 2020-08-26 16:45:44 · 2759 阅读 · 1 评论 -
Springboot + Netty 搭建websocket服务器 入门
Springboot + Netty 搭建websocket服务器 入门废话少说直接贴代码,会用再说导入pom <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.36.Final</version> <原创 2020-08-25 17:23:23 · 1421 阅读 · 0 评论 -
Springboot 自动配置小例子 starter
Springboot 自动配置小例子 starter自己动手实现一下springboot中的自动配置starter,我们平时开发只知道导入对应的starter就可以帮助我们实现自动配置,比如redis等。本文按照自动配置的基本思路实现1个starter供其他应用引用,实现访问。需求,实现1个starter导入后进行自动配置 1个controller来实现访问。我们在配置文件中可以选择开启和关闭1. 创建一个springboot项目相信这一步骤大家都不陌生,先看下结果,下面我会贴出来源码.原创 2020-08-21 17:48:21 · 369 阅读 · 0 评论 -
Springboot源码(二)@SpringBootApplication
@SpringBootApplication 注解流程解析前言:上文已经分析了,springboot的入口函数的实现过程,如何启动 ioc容器,如何监听等等。**本文继续分析第二部分,springboot中的@SpringbootApplication 注解如何实现的自动配置 **废话少说上 @SpringbootApplication 源码@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inher原创 2020-08-18 13:41:58 · 140 阅读 · 0 评论 -
Springboot源码(一)入口方法分析
springboot 入口方法分析前言:熟悉了Spring容器的源码之后,打算看看Springboot如何做到自动配置的。其实不用看大概也能猜到使用@import注解注入了对应的自动配置类,然后进行自动配置流程。**我们先分析入口函数,再分析@springbootApplication 这个核心注解。**做过 Spring Boot 项目的都知道,上面是 Spring Boot 最简单通用的入口类。入口类的要求是最顶层包下面第一个含有 main 方法的类,使用注解 @SpringBootApplic原创 2020-08-18 13:38:14 · 1722 阅读 · 1 评论 -
Springboot 自动配置常用25 个注解
Spring Boot 最核心的 25 个注解1、@SpringBootApplication这是 Spring Boot 最最最核心的注解,用在 Spring Boot 主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。其实这个注解就是@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan这三个注解的组合,也可以用这三个注解来代替@SpringBootApplicat...原创 2020-08-18 11:35:44 · 3677 阅读 · 0 评论 -
Spring Integration 优雅的实现分布式锁
Spring Integration 优雅的实现分布式锁概述提到分布式锁大家都会想到如下两种:基于Redisson组件,使用redlock算法实现 基于Apache Curator,利用Zookeeper的临时顺序节点模型实现今天我们来说说第三种,使用 Spring Integration 实现,也是我个人比较推荐的一种。Spring Integration在基于Spring的应用程序中实现轻量级消息传递,并支持通过声明适配器与外部系统集成。 Spring Integration的主要目原创 2020-08-04 16:22:54 · 1950 阅读 · 4 评论 -
Springboot 2.x 开发案例之整合MinIo文件服务
SpringBoot 2.x 开发案例之整合MinIo文件服务官网地址 :https://docs.min.io/cn/java-client-quickstart-guide.html前言在之前的图床开发中撸主曾使用了分布式文件服务FASTDFS和阿里云的OSS对象存储来存储妹子图。奈何OSS太贵,FASTDFS搭建配置又太繁琐,今天给大家推荐一款极易上手的高性能对象存储服务MinIO。简介MinIO是高性能的对象存储,兼容Amazon S3接口,充分考虑开发人员的需求和体验;支...原创 2020-07-30 14:14:41 · 681 阅读 · 0 评论 -
Spring 源码中一些小工具
1. 包扫描方法,扫描指定包路径下的类org.springframework.context.annotation.ClassPathBeanDefinitionScanner#doScan在指定的基本包内执行扫描,返回注册的bean定义。核心扫描逻辑代码org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider#scanCandidateComponents可以把这部分源码进...原创 2020-07-15 11:27:31 · 241 阅读 · 0 评论 -
Springboot + MybatisPlus 入门例子
Springboot + MybatisPlus 入门例子默认我们已经新建一个springboot项目。1. 导入相关依赖如果项目中有mybatis可以直接删除了,plus里包含了mybatis的包 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybat...原创 2020-04-10 16:21:41 · 330 阅读 · 0 评论 -
Springboot (六) aop自定义注解开发
java自定义注解开发Springboot (六) aop自定义注解开发前言: 相信用过Spring的对Aop都不陌生,闲话不多说直接上列子。1. 导入依赖首先我们要导入aop的依赖,有了boot开发就是方便。<dependency> <groupId>org.springframework.boot</groupId> <artif...原创 2020-04-03 16:14:15 · 196 阅读 · 0 评论 -
Springboot (五) 鉴权之Jwt实现token
Springboot (五) 鉴权之Jwt实现token1. 导入依赖 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.5.0...原创 2020-04-02 13:13:45 · 1717 阅读 · 2 评论 -
SpringCloud入门(一)Eureka 服务注册与发现
SpringCloud入门(一)Eureka 服务注册与发现springcloud的中文文档网站:https://www.springcloud.cc/spring-cloud-dalston.html简述服务发现是基于微服务架构的关键原则之一。尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱。Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现...原创 2020-03-26 17:19:17 · 188 阅读 · 0 评论 -
Springboot (三) redis缓存
Spring Boot cache一. Spring缓存抽象1. 简介Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们开发;•Cache接口为缓存的组件规范定义,包含缓存的各种操作集合;...原创 2020-03-26 17:11:21 · 443 阅读 · 0 评论 -
Springboot (四) RabbitMQ消费者重试机制(spring retry)
1. 什么时候应该用MQ?2. Rabbit 基础知识3. docker 安装 RabbitMQ3. Springboot (四) RabbitMQ入门Springboot (四) RabbitMQ消费者重试机制(spring retry实现)1. 新建配置类 ,上代码重点在于,retryTemplate 设置重试 。@Slf4j@Configurationpublic clas...原创 2020-03-26 16:19:36 · 9572 阅读 · 4 评论 -
springboot (四) 整合RabbitMQ入门
1. 什么时候应该用MQ?2. Rabbit 基础知识3. docker 安装 RabbitMQRabbitMQ入门1. 基本概念RabbitMQ是对于AMQP(高级消息队列协议)的具体实现,是一个用于在分布式系统中存储转发消息的网络通信协议。AMQP 协议层角色相关的概念:生产者(producer):产生消息的应用,能够传递消息到消息中间件的应用。消息中间件(brokers)...原创 2020-03-19 13:28:17 · 296 阅读 · 0 评论 -
spring boot 配置入门mybatis
前言:个人感觉spring boot 配置mybatis还是挺简单的,省去了在xml中sqlsession工厂的配置和一些事务配置,使用注解就可以代替注解相关 参考https://blog.csdn.net/ityouknow/article/details/53063404一.先搭建mybatis环境第一步:在pom文件里面导入我们用到的包,如图第二步:在applicat...原创 2018-08-08 15:20:48 · 273 阅读 · 1 评论 -
SpringMvc访问URL路径有小数点获取不到后面的参数,参数不全
我们先看路径,里面有很多小数点,访问过去我们后台,之前是{tablename},这样子数据获取不全,只能获取部分下面是我们修改后的方法1:推荐 在@RequestMapping使用SpEl 加上(:.+)比如: {tablename} - -> {tablename:.+}这样就可以正常获取数据了方法2:在url路径后面加一个静态的字符段,这个段没有任何意义...原创 2018-10-23 17:31:44 · 2153 阅读 · 2 评论 -
Springboot (二) 日志
Spring Boot 日志spring boot 对的默认实现使用sl4j + logback 的日志结构实现日志门面: SLF4J;日志实现:Logback;日志门面 (日志的抽象层)日志实现JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade for Java) jboss-l...原创 2019-10-25 17:05:03 · 155 阅读 · 0 评论 -
Springboot (一) 配置文件
Spring Boot 配置文件一.properties 和yml 配置文件同路径下优先级 properties > yml, properties会有中文乱码的情况针对同数据结构之间的表示方式不同例子:properties:# 普通数据person.name=yuperson.age=11# mapperson.map.k1=v1person.map....原创 2019-10-25 17:01:58 · 177 阅读 · 0 评论 -
springboot 引入第三方jar包 打包运行
最近有需求引入阿里的第三方jar包,因为公司没有自己的maven仓库,所以放在了项目的 resources 的目录下注意,<groupId>、<artifactId>、<version>随意填写。<scope>system</scope>必须要加,这表示导入本地的jar包。${project.basedir}为项目的根路径...原创 2019-10-11 16:13:09 · 813 阅读 · 2 评论 -
Spring Cloud 笔记
Spring Cloud 系列文章参考 :程序员DD 程序员DDDalston版 http://blog.didispace.com/spring-cloud-learning/纯洁的微笑 纯洁的微笑 http://www.ityouknow.com/spring-cloud原创 2019-09-19 15:29:47 · 104 阅读 · 0 评论 -
zuul服务网关笔记
.服务过滤1.定义类 MyFilter 继承 ZuulFilter,实现请求过滤/** 服务过滤 */@Componentpublic class MyFilter extends ZuulFilter { /** 返回过滤器的类型,过滤器类型如下: pre:请求路由之前调用过滤 routing:请求routing之时调...原创 2019-06-18 11:31:26 · 85 阅读 · 0 评论 -
GRPC学习笔记
一.入门基本rpc1.首先需要导入我们需要的包,pom文件中加入<dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty-shaded</artifactId> <version>${grpc.version}</ver...原创 2019-06-17 15:08:24 · 505 阅读 · 0 评论 -
Spring Boot 中@NotNull, @NotEmpty和@NotBlank
简述三者区别 @NotNull://CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集(size = 0)。 @NotEmpty://CharSequence, Collection, Map 和 Array 对象不能是 null 并且相关对象的 size 大于 0。 @NotBlank://String ...转载 2019-04-20 16:03:12 · 2538 阅读 · 0 评论 -
Spring 断言工具类 Assert的常用方法
import org.springframework.util.Assert;Assert断言工具类,通常用于数据合法性检查.、自己平常使用的方法:1.Assert.hasText(message.getSubject(), "主题不能为空"); 参数不为null,并且包含至少一个不为空的字符str != null && str.length() >...原创 2019-03-26 15:04:01 · 703 阅读 · 0 评论 -
Spring事务传播机制(比较详细)
文章一:我们都知道事务的概念,那么事务的传播特性是什么呢?(此处着重介绍传播特性的概念,关于传播特性的相关配置就不介绍了,可以查看spring的官方文档) 在我们用SSH开发项目的时候,我们一般都是将事务设置在Service层 那么当我们调用Service层的一个方法的时候它能够保证我们的这个方法中执行的所有的对数据库的更新操作保持在一个事务中,在事务层里面调用的这些方法要么全部成功,要么全...转载 2018-12-07 11:49:30 · 1426 阅读 · 0 评论 -
spring boot 配置log4j2
一.介绍log4j2是apache著名日志框架log4j的升级,参考logback架构,并且修复了logback固有的一些问题。是一个很好的日志框架。我看了网上一些关于log4j2的教程,要么是光讲概念,要么是只贴代码,适合新手入门的教程比较少。本篇教程的目标是给那些初次使用log4j2的人一个快速入门、配置代码拿来就可用的指导。log4j2官方文档大而全、有很多概念,往往给一个问题提供多...原创 2018-08-16 11:22:43 · 884 阅读 · 0 评论