Spring可二次开发常用接口、类及其源码详解
摘要:Spring为了用户的开发方便和特性支持,开放了一些特殊接口和类,用户可进行实现或者继承,常见的如这些: ApplicationContextAware接口、ApplicationEvent抽象类、ApplicationListener接口、BeanNameAware接口、BeanFactoryAw
阅读全文
posted @
2020-04-09 21:54
kosamino
阅读(2333)
推荐(1) 编辑
Spring之AOP原理、代码、使用详解(XML配置方式)
摘要:Spring 的两大核心,一是IOC,另一个是AOP,本博客从原理、AOP代码以及AOP使用三个方向来讲AOP。先给出一张AOP相关的结构图,可以放大查看。 一、Spring AOP 接口设计 1、PointCut (连接点,定义匹配哪些方法) 首先打开 Spring 的源码,查看 PointCut
阅读全文
posted @
2019-11-12 12:55
kosamino
阅读(1141)
推荐(0) 编辑
Spring之IOC原理及代码详解
摘要:一、什么是IOC 引用 Spring 官方原文:This chapter covers the Spring Framework implementation of the Inversion of Control (IoC) [1] principle. IoC is also known as
阅读全文
posted @
2019-11-07 04:21
kosamino
阅读(4557)
推荐(3) 编辑
Session机制详解及分布式中Session共享解决方案
摘要:一、为什么要产生Session http协议本身是无状态的,客户端只需要向服务器请求下载内容,客户端和服务器都不记录彼此的历史信息,每一次请求都是独立的。 为什么是无状态的呢?因为浏览器与服务器是使用socke套接字进行通信,服务器将请求结果返回给浏览器之后,会关闭当前的socket链接,而且服务器
阅读全文
posted @
2019-11-03 05:22
kosamino
阅读(10601)
推荐(1) 编辑
注解Annotation原理详解及其应用示例
摘要:一、什么是注解 注解也叫元数据,例如我们常见的@Override和@Deprecated,注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。 「java.lang.annotation.Annotation」接口中有这么一句话,用来
阅读全文
posted @
2019-10-23 21:32
kosamino
阅读(977)
推荐(2) 编辑
SpringCloud之Config配置中心+BUS消息总线原理及其配置
摘要:一、配置中心作用 在常规的开发中,每个微服务都包含代码和配置。其配置包含服务配置、各类开关和业务配置。如果系统结构中的微服务节点较少,那么常规的代码+配置的开发方式足以解决问题。当系统逐步迭代,其微服务会越来越复杂,慢慢演化成网状依赖结构,这个时候常规的代码+配置的开发方式就并不合适了,因为还要考虑
阅读全文
posted @
2019-10-22 16:57
kosamino
阅读(6973)
推荐(2) 编辑
SpringCloud之Zuul网关原理及其配置
摘要:Zuul是spring cloud中的微服务网关。网关: 是一个网络整体系统中的前置门户入口。请求首先通过网关,进行路径的路由,定位到具体的服务节点上。 Zuul是一个微服务网关,首先是一个微服务。也是会在Eureka注册中心中进行服务的注册和发现。也是一个网关,请求应该通过Zuul来进行路由。 Z
阅读全文
posted @
2019-10-18 04:46
kosamino
阅读(110050)
推荐(38) 编辑
SpringCloud之RabbitMQ消息队列原理及配置
摘要:本篇章讲解RabbitMQ的用途、原理以及配置,RabbitMQ的安装请查看SpringCloud之RabbitMQ安装 一、MQ用途 1、同步变异步消息 场景:用户下单完成后,发送邮件和短信通知。 运用消息队列之后,用户下单完之后,下单信息写入数据库,再写入消息队列,发送邮件和发送短信各自去消息队
阅读全文
posted @
2019-10-15 18:21
kosamino
阅读(30665)
推荐(7) 编辑
SpringCloud之RabbitMQ安装
摘要:本文介绍Linux以及MAC OS下的RabbitMQ安装及配置: 一、Linux环境下的RabbitMQ安装(CentOS) 1、安装ErLang Erlang(['ə:læŋ])是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活
阅读全文
posted @
2019-10-14 20:42
kosamino
阅读(2250)
推荐(0) 编辑
SpringBoot之Redis访问(spring-boot-starter-data-redis)
摘要:依赖注入: 配置文件 application.yml: Redis 对应配置文件 application-redis.yml: 覆写替换系统默认redisTemplete: 启动类: 程序接口: 此处抽离出一个公用RedisUtil:
阅读全文
posted @
2019-10-12 18:29
kosamino
阅读(8738)
推荐(0) 编辑
Spring之Redis访问(Spring-data-redis)
摘要:Spring-data-redis,是spring-data框架中,比较常用的,基于key-value键值对的数据持久层框架。Spring-data-redis,是一个基于Template模板开发的数据访问层框架。都是基于配置+template方法调用,实现redis数据CRUD操作的。 没有Spr
阅读全文
posted @
2019-10-12 18:04
kosamino
阅读(5237)
推荐(0) 编辑
SpringCloud之Hystrix容错保护原理及配置
摘要:1 什么是灾难性雪崩效应? 如下图的过程所示,灾难性雪崩形成原因就大致如此: 造成灾难性雪崩效应的原因,可以简单归结为下述三种: 服务提供者不可用。如:硬件故障、程序BUG、缓存击穿、并发请求量过大等。 重试加大流量。如:用户重试、代码重试逻辑等。 服务调用者不可用。如:同步请求阻塞造成的资源耗尽等
阅读全文
posted @
2019-10-10 20:03
kosamino
阅读(12968)
推荐(7) 编辑
SpringCloud之Feign声明式调用原理及配置
摘要:1 什么是Feign Feign是一种声明式、模板化的HTTP客户端(仅在Application Client中使用)。声明式调用是指,就像调用本地方法一样调用远程方法,无需感知操作远程http请求。 Spring Cloud的声明式调用, 可以做到使用 HTTP请求远程服务时能就像调用本地方法一样
阅读全文
posted @
2019-10-03 02:25
kosamino
阅读(18821)
推荐(0) 编辑
SpringCloud之Ribbon负载均衡配置
摘要:一、负载均衡解决方案分类及特征 业界主流的负载均衡解决方案有: 1.1 集中式负载均衡 即在客户端和服务端之间使用独立的负载均衡设施(可以是硬件,如F5, 也可以是软件,如nginx), 由该设施负责把访问请求通过某种策略转发至服务端。 1.2 进程内负载均衡 将负载均衡逻辑集成到客户端组件中,客户
阅读全文
posted @
2019-09-30 13:59
kosamino
阅读(4034)
推荐(0) 编辑
SpringCloud之Eureka注册中心原理及其搭建
摘要:一、Eureka简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服
阅读全文
posted @
2019-09-28 04:28
kosamino
阅读(93898)
推荐(11) 编辑
SpringBoot定时任务(schedule、quartz)
摘要:Scheduled 只适合处理简单的计划任务,不能处理分布式计划任务。优势:是spring框架提供的计划任务,开发简单,执行效率比较高。且在计划任务数量太多的时候,可能出现阻塞,崩溃,延迟启动等问题。 Scheduled定时任务是spring3.0版本之后自带的一个定时任务。其所属Spring的资源
阅读全文
posted @
2019-09-20 02:42
kosamino
阅读(50253)
推荐(7) 编辑
深入SpringBoot注解原理及使用
摘要:首先,先看SpringBoot的主配置类: 点进@SpringBootApplication来看,发现@SpringBootApplication是一个组合注解。 首先我们先来看 @SpringBootConfiguration: 可以看到这个注解除了元注解以外,就只有一个@Configuratio
阅读全文
posted @
2019-09-11 03:06
kosamino
阅读(16392)
推荐(5) 编辑
Spring事务的配置、参数详情及其原理介绍(Transactional)
摘要:Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。 声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一
阅读全文
posted @
2019-09-10 04:05
kosamino
阅读(9539)
推荐(1) 编辑
Spring7大模块
摘要:Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。 每个模块的功能如下: 核心容器:核心容器提供 Spr
阅读全文
posted @
2019-09-08 04:25
kosamino
阅读(3693)
推荐(0) 编辑
Spring的启动流程
摘要:spring的启动是建筑在servlet容器之上的,所有web工程的初始位置就是web.xml,它配置了servlet的上下文(context)和监听器(Listener),下面就来看看web.xml里面的配置: 接下来就一点的来解析这样一个启动过程。 1. spring的上下文监听器 代码如下:
阅读全文
posted @
2019-09-08 04:17
kosamino
阅读(2695)
推荐(1) 编辑