摘要:一、基础知识介绍 @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。 在后端的同一个接收方法里,@RequestBody与@Re
阅读全文
随笔分类 - Spring
摘要:一.Zuul是什么 zuul 是netflix开源的一个API Gateway 服务器,本质上是一个web servlet应用。 Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。 二.Zuul能做
阅读全文
摘要:一.Consul是什么 Consul是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。 Consul的功能都很实用,其中包括:服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等特性。 Consul本身只是一个二进制的可执行
阅读全文
摘要:一.Eureka是什么 Spring Cloud Eureka 是对Netflix公司的Eureka的二次封装,它实现了服务治理的功能。 Spring Cloud Eureka提供服务端与客户端,服务端即是Eureka服务注册中心,客户端完成微服务向Eureka服务的注册与发现。 服务端和客户端均采
阅读全文
摘要:一.Gateway是什么 Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关, Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。 Sp
阅读全文
摘要:一.Ribbon是什么 Ribbon是一个客户端负载均衡器,它可以很好地控制HTTP和TCP客户端的行为。 Ribbon 是netflix 公司开源的基于客户端的负载均衡组件,是Spring Cloud大家庭中非常重要的一个模块; 主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务
阅读全文
摘要:一.Hystrix是什么 Hystrix是Netflix开源的一款容错框架,具有自我保护能力。为了实现容错和自我保护。 包含常用的容错方法:线程池隔离、信号量隔离、熔断、降级回退。在高并发访问下,系统所依赖的服务的稳定性对系统的影响非常大,依赖有很多不可控的因素, 比如网络连接变慢,资源突然繁忙,暂
阅读全文
摘要:一.Feign是什么 Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。 Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上
阅读全文
摘要:一.SpringBoot是什么 SpringBoot是一个快速开发框架,快速的将一些常用的第三方依赖整合(原理:通过Maven子父工程的方式),简化XML配置,全部采用注解形式,内置Http服务器(Jetty和Tomcat),最终以java应用程序进行执行。 二.SpringBoot能做什么 通常搭
阅读全文
摘要:声明式事务 一.声明式事务概述 从上节编程式实现事务管理可以深刻体会到编程式事务的痛苦,即使通过代理配置方式也是不小的工作量。 本节将介绍声明式事务支持,使用该方式后最大的获益是简单,事务管理不再是令人痛苦的,而且此方式属于无侵入式,对业务逻辑实现无影响。 接下来先来看看声明式事务如何实现吧。 二.
阅读全文
摘要:编程式事务 一.编程式事务概述 所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理。 Spring框架提供一致的事务抽象,因此对于JDBC还是JTA事务都是采用相同的API进行编程。 Connection conn = null; UserTransaction tx = n
阅读全文
摘要:一.数据库事务概述 事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务。 事务必需满足ACID(原子性、一致性、隔离性和持久性)特性,缺一不可: 1.原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做
阅读全文
摘要:基于@AspectJ的AOP Spring除了支持Schema方式配置AOP,还支持注解方式:使用@AspectJ风格的切面声明。 一.启用对@AspectJ的支持 Spring默认不支持@AspectJ风格的切面声明,为了支持需要使用如下配置: <aop:aspectj-autoproxy/> 这
阅读全文
摘要:基于Schema的AOP 基于Schema的AOP从Spring2.0之后通过“aop”命名空间来定义切面、切入点及声明通知。 在Spring配置文件中,所以AOP相关定义必须放在<aop:config>标签下,该标签下可以有<aop:pointcut>、<aop:advisor>、<aop:asp
阅读全文
摘要:AOP基础 一.AOP是什么 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍
阅读全文
摘要:一.循环依赖 什么是循环依赖? 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA, 则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调用。如图所示: 循环调用是无法
阅读全文
摘要:DI的配置使用 一.依赖和依赖注入 传统应用程序设计中所说的依赖一般指“类之间的关系”: 泛化:表示类与类之间的继承关系、接口与接口之间的继承关系; 实现:表示类对接口的实现; 依赖:当类与类之间有使用关系时就属于依赖关系,不同于关联关系,依赖不具有“拥有关系”,而是一种“相识关系”,只在某个特定地
阅读全文
摘要:IoC的配置使用 一.XML配置的结构 一般配置文件结构如下: <beans> <import resource=”resource1.xml”/> <bean id=”bean1” class=””></bean> <bean id=”bean2” class=””></bean> <bean n
阅读全文
摘要:一.IoC容器的概念 IoC容器就是具有依赖注入功能的容器,IoC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。 应用程序无需直接在代码中new相关的对象,应用程序由IoC容器进行组装。在Spring中BeanFactory是IoC容器的实际代表者。 Spring IoC容器如何
阅读全文
摘要:一.IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。 在Java开发中,Ioc意味着将设计好的对象交给容器控制,而不是传统的在对象内部直接控制。 如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应
阅读全文