摘要:
深入学习spring1 - Spring源码环境搭建和Spring模块介绍 深入学习spring2 - BeanFactory体系结构(BeanFactory和ApplicationContext) 深入学习spring3 - Spring容器启动过程源码分析 深入学习spring4 - (一)Be 阅读全文
摘要:
##问题描述 MySQL在创建索引时(或者导入数据时),出现如下错误信息。 Error 1071: Specified key was too long; max key length is 767 bytes. ERROR 1709 (HY000): Index column size too l 阅读全文
摘要:
官方教程:Getting Started 准备工作: 安装istio之前,需要先将kubernetes集群跑起来。我们可以使用服务商提供的云服务k8s集群,对于如何准备这些Kubernetes 平台,官网也提供了文档,可以参考平台安装,其中还包含了阿里云。 当然,我们也可以使用minikube来搭建 阅读全文
摘要:
Spring官方推出了Spring Native,使用GraalVM将Spring应用编译成本地可执行的文件,这样就能提供一种新的方式来部署Spring 应用。这些原生的Spring应用可以作为一个独立的可执行文件进行部署,不再需要依赖JRE环境,并且还能提供一些有趣的特征,比如几乎瞬时的启动(一般 阅读全文
摘要:
一、安装GraalVM 官方文档:Getting Started with GraalVM 从GraalVM下载,GraalVM官方提供了社区版和企业版。直接下载社区版,可以选择基于java8或基于java11等不同环境的版本。由于我使用的java8,所以下载基于java8的版本。 1.下载后解压, 阅读全文
摘要:
Spring Cloud Gateway是使用令牌桶算法来实现限流的,并采用Redis结合lua脚本的方式来实现分布式限流。 lua脚本地址:request_rate_limiter.lua RedisRateLimiter:RedisRateLimiter.java lua脚本如下: --入参部分 阅读全文
摘要:
官方文档:InnoDB Locking and Transaction Model 一、InnoDB存储引擎中的锁 1.共享锁和排它锁(Shared and Exclusive Locks)--行级别锁 InnoDB存储引擎实现了两种标准的行级锁: 共享锁(S):允许持有该锁的事务读取一行记录。 排 阅读全文
摘要:
在Spring AOP源码分析中我们分析了Spring AOP的工作原理,而Spring的事务管理是基于Spring AOP的。所以,搞懂了Spring AOP的工作流程后再来研究Spring的事务管理会更轻车熟路。 一、事务程序 先以一段事务管理的程序来引出后文。首先,在mysql中默认的test 阅读全文
摘要:
一、准备工作 先来回顾一下Aop的基础知识。 连接点(joint point):表示在程序中明确定义的点,包括类的初始化,构造方法的调用,对类成员的访问,方法执行以及异常处理的执行等。而Spring Aop的实现只支持方法执行类型的连接点。AspectJ则支持的比较全面。 切点(pointcut): 阅读全文
摘要:
1.@Controller/@Service/@Repository/@Component,结合包扫描 这是我们最常使用的方式,只需要在组件类上加上这四类注解即可。 2.@Bean[导入第三方包的组件] 这种方式在SpringBoot中最为常见。无论是我们自己定义组件,还是引入第三方的组件(比如数据 阅读全文
摘要:
一、Bean初始化的几种方式 1.使用@Bean指定初始化和销毁方法 @Configuration public class LifeCycleConfig { @Bean(initMethod = "init", destroyMethod = "destroy") public Color co 阅读全文