如何通过三级缓存解决 Spring 循环依赖

以下内容基于 Spring6.0.4。 这个其实是一个特别高频的面试题,也一直很想和大家仔细来聊一聊这个话题,网上关于这块的文章很多,但是我一直觉得要把这个问题讲清楚还有点难度,今天我来试一试,看能不能和小伙伴们把这个问题梳理清楚。 1. 循环依赖 1.1 什么是循环依赖 首先,什么是循环依赖?这个其实好理解,就是两个 Bean 互相依赖,类似下面这样:…

hello hello 发布于 2023-09-11

Hystrix配置总结

Spring 搭建微服务的时候,比较常用的http客户端工具就是 Feign,以其声明的方式来编写 HTTP 请求。涉及到微服务请求,就一定要设置请求超时时间和熔断策略,来避免因为单一服务卡死导致的集群雪崩等灾难性事件。 具体的 Feign 和 Hystrix 如何集成,Spring 官方都有对应的 Demo,下面主要是分析一下熔断策略的配置。…

hello hello 发布于 2023-09-07

SpringBoot整合MinIO

[toc] MinIO简介 MinIO是一款基于Go语言开发的高性能、分布式的对象存储系统,开源可商用。一开始就被设计为服务于私有云、公有云、混合云,因此在高可用、可扩展性、高性能方面有得天独厚的优势。 MinIO完全实现了AWS S3…

hello hello 发布于 2023-09-06

Spring面试题 – AOP总结

1. AOP概念与基础 与 IOC 一样,咱先回顾一下 AOP 中涉及到的概念。 1.1 AOP概述 AOP 面向切面编程,全称 Aspect Oriented Programming ,它是 OOP 的补充。OOP 关注的核心是对象,AOP 的核心是切面(Aspect)。AOP…

hello hello 发布于 2023-09-04

Spring面试题 – IOC总结

1. SpringFramework的基本知识 1.1 SpringFramework概述 SpringFramework 是一个开源的、松耦合的、分层的、可配置的一站式企业级 Java 开发框架,它的核心是 IOC 与 AOP ,它可以更容易的构建出企业级 Java 应用,并且它可以根据应用开发的组件需要,整合对应的技术。 1.2…

hello hello 发布于 2023-09-04

Spring中间件 – 什么是中间件

一、前言 在互联网应用开发初期,所有用于支撑系统建设的,框架结构、基础工具、业务逻辑、功能服务包括页面展示等,都是在一个系统中开发完成,最终也只是把系统和数据库部署在同一台服务器上。 但随着互联网应用的发展,业务体量逐渐增大,那么原有的系统搭建就很难支撑起现有的业务体量。因此开始陆续出现应用与数据库分离、 Nginx 反向代理、缓存组件、分组部署、RPC…

hello hello 发布于 2023-09-04

SpringBoot + Vue 分离部署踩坑记录

一、前端 1、前端项目采用Nginx进行部署,其中Nginx配置文件部分内容如下 nginx.conf部分内容 1 server { 2 listen 443 ssl; 3 server_name www.huskysir.cn; 4 ssl_certificate huskysir.cn_bundle.crt; 5 ssl_certificate_key…

hello hello 发布于 2023-08-23

Spring Boot 3.x Native Image 实践

之前曾经写过一篇《SpringBoot3.x 原生镜像-Native Image 尝鲜》,当时 SpringBoot 处于 3.0.0-M5 版本,功能尚未稳定。这次会基于 SpringBoot 当前最新的稳定版本 3.1.2 详细分析 Native Image 的实践过程。系统或者软件版本清单如下: 组件 版本 备注 macOS Ventura…

hello hello 发布于 2023-08-22

Spring Boot 单元测试 vs 集成测试

单元测试 vs. 集成测试 只编写单测,无法测试方法之间的集成情况,而且某些需求可能会修改多个方法,这可能会影响方法对应的单测,涉及到大量的相关单测的修改,这样的维护成本很高 可以把重心放在完善集成测试上,专注从外部判断程序是否符合预期。对于一些非常重要的方法,增加单元测试可以减轻集成测试排查错误的难度 SpringBootTest 和 MockMvc…

hello hello 发布于 2023-08-22

Tomcat远程Debug

[TOC] 概述 JVM本身提供可调试运行在虚拟机中的代码的功能。远程调试大致流程为: 在启动的时候设置启动参数以开启和配置调试功能 设置ip白名单或者关闭防火墙,让远端可以访问JVM所在机器 IDE中配置远程调试信息 重启Tomcat,在IDE中启动远端调试 Java调试架构 JPDA(Java Platform Debugger…

hello hello 发布于 2023-08-18
上一页 下一页