
Spring Family
Spring、Spring MVC、Spring Boot、Spring Cloud等
一只倔强的蜗牛
编码人生,深耕技术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring Boot整合Swagger2构建RESTful API
Swagger是一款可以快速生成符合RESTful风格API并进行在线调试的插件。本文将介绍如何在Spring Boot中整合Swagger。在此之前,我们先聊聊什么是REST。REST实际上为RepresentationalStateTransfer的缩写,翻译为“表现层状态转化” 。如果一个架构符合REST 原则,就称它为RESTful架构。实际上,“表现层状态转化”省略了主语,完...转载 2019-09-17 13:50:27 · 238 阅读 · 0 评论 -
Spring Boot整合Dubbo&Zookeeper
Dubbo是一款由阿里巴巴开发的远程服务调用框架(RPC),其可以透明化的调用远程服务,就像调用本地服务一样简单。截至目前,Dubbo发布了基于Spring Boot构建的版本,版本号为0.2.0,这使得其与Spring Boot项目整合变得更为简单方便。而Zookeeper在这里充当的是服务注册中心的角色,我们将各个微服务提供的服务通过Dubbo注册到Zookeeper中,然后服务消费者通过Du...转载 2019-09-15 15:58:16 · 765 阅读 · 1 评论 -
深入学习Spring Boot中的SpringApplication
在Spring Boot的入口类中,我们通常是通过调用SpringApplication的run方法来启动Spring Boot项目。这节我们来深入学习下SpringApplication的一些细节。自定义SpringApplication默认的我们都是直接通过SpringApplication的run方法来直接启动Spring Boot,其实我们可以通过一些API来调整某些行为。通过...转载 2019-09-15 11:54:40 · 1900 阅读 · 0 评论 -
Spring Boot整合Kafka
Kafka是一个分布式的、可分区的、可复制的消息系统,下面是Kafka的几个基本术语: Kafka将消息以topic为单位进行归纳; 将向Kafka topic发布消息的程序成为producers; 将预订topics并消费消息的程序成为consumer; Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker。 producer...转载 2019-09-15 10:47:37 · 1680 阅读 · 0 评论 -
Spring Boot 中的异步调用
通常我们开发的程序都是同步调用的,即程序按照代码的顺序一行一行的逐步往下执行,每一行代码都必须等待上一行代码执行完毕才能开始执行。而异步编程则没有这个限制,代码的调用不再是阻塞的。所以在一些情景下,通过异步编程可以提高效率,提升接口的吞吐量。这节将介绍如何在Spring Boot中进行异步编程。开启异步新建一个Spring Boot项目,版本为2.1.0.RELEASE,并引入spring...转载 2019-09-15 10:23:50 · 227 阅读 · 0 评论 -
Spring Boot 中处理跨域
HTML 5中新增的跨域资源访问(Cross-Origin Resource Sharing)特性可以让我们在开发后端系统的时候决定资源是否允许被跨域访问。所谓跨域指的是域名不同或者端口不同或者协议不同,比如当从mrbrid.cc网站访问mrbird.cc:8080网站资源就会存在跨域问题。Spring从4.2版本开始就提供了跨域的支持,开箱即用。这里介绍如何在Spring Boot开发中解决跨域...转载 2019-09-15 09:33:03 · 682 阅读 · 0 评论 -
深入学习Spring Boot自动装配
模式注解Stereotype Annotation俗称为模式注解,Spring中常见的模式注解有@Service,@Repository,@Controller等,它们都“派生”自@Component注解。我们都知道,凡是被@Component标注的类都会被Spring扫描并纳入到IOC容器中,那么由@Component派生的注解所标注的类也会被扫描到IOC容器中。下面我们主要来通过自定义模式...原创 2019-09-15 09:19:52 · 232 阅读 · 0 评论 -
Spring Boot项目用外部 Tomcat 部署的正确姿势应该是这样的
一、配置三步操作1. 修改项目的打包类型<packaging>war</packaging>2. 去掉内嵌 tomcat 依赖(非必须)<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot...原创 2019-07-26 11:14:29 · 844 阅读 · 0 评论 -
Spring Boot 项目用外部Tomcat部署实践
一. 新建spring boot工程1. 把项目打包方式改为war包<groupId>com.example</groupId><artifactId>tomcat-demo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war&am原创 2019-01-19 15:39:52 · 581 阅读 · 0 评论 -
深入学习Spring Bean生命周期
所谓Spring Bean的生命周期指的是Bean从创建到初始化再到销毁的过程,这个过程由IOC容器管理。一个完整的Bean生命周期可以参考Spring Bean生命周期。这里我们主要记录一些和Bean生命周期相关的细节。Bean的初始化和销毁在整个生命周期过程中,我们可以自定义Bean的初始化和销毁钩子函数,当Bean的生命周期到达相应的阶段的时候,Spring会调用我们自定义的Bean...转载 2019-09-14 21:36:34 · 223 阅读 · 0 评论 -
深入学习 Spring 组件注册
接触过Spring的同学肯定都听过IOC。在传统的Java编程中,当需要用到某个对象的时候,我们都是主动地显示创建一个对象实例(new)。使用Spring后就不需要这样做了,因为Spring会帮我们在需要用到某些对象的地方自动注入该对象,而无须我们自己去创建。这种模式俗称控制反转,即IOC(Inversion of Control)。那么Spring是从什么地方获取到我们所需要的对象呢?其实Spr...转载 2019-09-14 21:19:26 · 342 阅读 · 0 评论 -
spring中事件监听器用法
直接上代码看用法:import lombok.extern.slf4j.Slf4j;import org.springframework.context.ApplicationListener;import org.springframework.context.event.ContextRefreshedEvent;import org.springframework.s...原创 2017-08-16 18:44:16 · 281 阅读 · 0 评论 -
(转)史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本)
在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。一、ribbon简介Ribbon is a client side load balancer...转载 2019-09-04 14:18:42 · 142 阅读 · 0 评论 -
(转)史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)(Finchley版本)
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbo...转载 2019-09-04 14:28:52 · 138 阅读 · 0 评论 -
(转)史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)(Finchley版本)
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫...转载 2019-09-04 14:46:32 · 146 阅读 · 0 评论 -
(转)史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)(Finchley版本)
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简单的微服务系统如下图:注意:A服务和B服务是可以相互调用的,作图的时候忘记了。并且配置服务也是注册到服务注册中心的。在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡...转载 2019-09-04 15:04:28 · 127 阅读 · 0 评论 -
(转)史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
最新Finchley版本:https://www.fangzhipeng.com/springcloud/2018/08/06/sc-f6-config.html或者http://blog.youkuaiyun.com/forezp/article/details/81041028在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件。它就是Spring Cloud Conf...转载 2019-09-06 16:23:15 · 334 阅读 · 0 评论 -
(转)史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
最新Finchley版本请访问:https://www.fangzhipeng.com/springcloud/2018/08/07/sc-f7-config.html或者http://blog.youkuaiyun.com/forezp/article/details/81041045上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心...转载 2019-09-06 17:03:30 · 131 阅读 · 0 评论 -
自定义Spring Boot 内容协商
内容协商机制是指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为适合的资源。内容协商会以响应资源的语言、字符集、编码方式等作为判断的基准。HTTP请求头中Content-Type,Accept等内容就是内容协商判断的标准。在Spring Boot中,一个完整的内容协商过程如下图所示:这个过程的核心组件:组件 名称 说明 ContentNegotiat...转载 2019-09-15 17:22:43 · 971 阅读 · 0 评论 -
(转)史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)
一、spring cloud 简介鉴于《史上最简单的Spring Cloud教程》很受读者欢迎,再次我特意升级了一下版本,目前支持的版本为Spring Boot版本2.0.3.RELEASE, Spring Cloud版本为Finchley.RELEASE。Finchley版本的官方文档如下:https://cloud.spring.io/spring-cloud-static/Fi...转载 2019-09-04 14:05:14 · 170 阅读 · 0 评论