摘要:
1 前言 SpringBoot 它给我们留了很多的扩展点,这节我们就看看都有哪些(有的扩展点是基于 Spring 的,有的我就不具体强调到底是 SpringBoot 还是 Spring 的噢)。 另外每一种扩展点我们都从两个方面来看: 入口时机:入口就是 SpringBoot 解析或者寻找你自定义的 阅读全文
摘要:
1 前言 之前看过 SpringBoot 启动后,Tomcat监听端口也就是正式接收请求的开启时机以及启动时向注册中心注册服务的时机,都是在刷新上下文的 finishRefresh() 阶段通过执行生命周期的 Bean 来得到执行的。 当有多个 Bean 的话他们的执行顺序有没有什么说法呢,出于这个 阅读全文
摘要:
1 前言 今儿在看 HikariCP数据库连接池实战我主要是想看下,连接的管理、连接的获取及释放。但是看到第五章的时候,书中提到 P6spy,说是能很容易监控到 JDBC 中执行的 SQL语句。那我们平时 SpringBoot 微服务对数据的操作,不管是 JDBCTemplate、还是 Mybati 阅读全文
摘要:
1 前言 换了个电脑,这不是得倒腾代码嘛,这Spring 源码还是 Gradle 管理的依赖,平时接触 Gradle 就比较少,这家伙这环境给我整的大半天,最后也算是整好了,把中间遇到的各种问题就下,希望大家少走弯路。 需要用到的地址我先贴出来,有的需要下载的可以先下载下来: 源码:源码下载 Gra 阅读全文
摘要:
1 前言 Apache Camel 不知道大家有没有用过。它是一个基于企业应用集成模式(EIP)的强大开源集成框架。能够快速、轻松地集成,用于在各种系统之间消费或生产数据。说白了可以用于系统之间的不同方式的交互支撑。 最近出现一个问题,来记录一下。 2 问题现象 有客户反应说一个单子卡单了,发现 C 阅读全文
摘要:
1 前言 最近项目上线,比较忙,没怎么写哈,一个月多了终于忙的差不多了。今儿看一个关于自增 ID 获取过程。 我们平时插入数据,关于主键的值,我们从程序的角度看的话,大概分两种一种是主动,一种就是被动。 主动:即我们程序在插入的时候直接主动赋予主键 id 的值,比如 uuid、雪花算法生成的id等, 阅读全文
摘要:
1 题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键 阅读全文
摘要:
1 前言 上节我们主要看了下服务启动的注册时机,可以看到它最后的落点是在实例化 DiscoveryClient 的时候进行服务的注册,看完启动注册,那么我们本节就看看当服务关闭时候的一个下线时机以及过程。 当然服务关闭也分情况,比如我能想到的直接暴力关闭类似 kill -9,柔和优雅关闭的类似 ki 阅读全文
摘要:
1 前言 我们平时在 Java 中处理异常的时候,通常的做法是使用try-catch-finally来包含代码块,但是Java自身还有一种方式可以处理就是使用UncaughtExceptionHandler,本节我们就来看看。 2 UncaughtExceptionHandler 2.1 认识 当 阅读全文
摘要:
1 前言 Spring 帮助我们管理着 Bean,那么带来的一个思考就是 Bean 该维护一个实例呢?还是每次都获取新的呢?单例的依赖多例的作用范围的变化怎么处理呢?也就是 Bean 的一个作用范围的管理是怎么控制的呢?这就是我们本节要看的 Scope。 2 Scope 介绍 2.1 @Scope 阅读全文