AOP实现原理介绍二

解析切面的过程 AOP Bean定义加载——AopNamespaceHandler处理流程 回到ConfigBeanDefinitionParser的parseAspect方法: private void parseAspect(Element aspectElement, ParserContext parserContext) { ...…

hello hello 发布于 2024-09-04

AOP实现原理介绍三

代理对象实例化过程 代理对象实例化—-为生成代理代码上下文梳理 上文分析了为生成代理的条件,现在就正式看一下Spring上下文是如何为生成代理的。回到AbstractAutoProxyCreator的wrapIfNecessary方法: protected Object wrapIfNecessary(Object bean, String…

hello hello 发布于 2024-09-04

Spring事务介绍

数据库事务概述 事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务。 事务必需满足ACID(原子性、一致性、隔离性和持久性)特性,缺一不可: 原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做;…

hello hello 发布于 2024-09-04

Spring Boot 虚拟线程的使用和最佳实践建议

SpringBoot 3.3 拥有许多增强功能。在本文中,我们将探讨虚拟线程(Virtual Threads)及其在 3.3 版本中的改进。 什么是虚拟线程? 虚拟线程是传统平台线程的一种更轻量级的替代方案。它们由 JVM…

hello hello 发布于 2024-09-03

Spring XmlBeanDefinition 介绍

loadBeanDefinitions loadBeanDefinitions: 源码阅读 入口是loadBeanDefinitions方法 protected void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws IOException { String[]…

hello hello 发布于 2024-09-03

JDK和cglib动态代理原理介绍

前言 AOP的基础是Java动态代理,了解和使用两种动态代理能让我们更好地理解 AOP,在讲解AOP之前,让我们先来看看Java动态代理的使用方式以及底层实现原理。 本文是基于jdk1.8来对动态代理的底层机制进行探究的 Java代理介绍…

hello hello 发布于 2024-09-03

Spring AOP介绍

为什么要使用 AOP 本文从最基础的原始代码–>使用设计模式(装饰器模式与代理)–>使用AOP三个层次来讲解一下为什么我们要使用AOP。 原始代码的写法 既然要通过代码来演示,那必须要有例子,这里我的例子为: 有一个接口Dao有insert、delete、update三个方法,在insert与update被调用的前后,打印调用前的毫秒数与调用后的毫秒数…

hello hello 发布于 2024-09-03

Spring IOC容器加载过程介绍

spring ioc 容器的加载流程 1.目标:熟练使用spring,并分析其源码,了解其中的思想。这篇主要介绍spring ioc 容器的加载 2.前提条件:会使用debug 3.源码分析方法:Intellj idea debug 模式下源码追溯 通过ClassPathXmlApplicationContext 进行xml…

hello hello 发布于 2024-09-02

Spring概述

Spring是什么 Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java…

hello hello 发布于 2024-09-01

Spring IOC核心流程介绍

前言 本文大致地介绍了IOC容器的初始化过程,只列出了比较重要的过程和代码,可以从中看出IOC容器执行的大致流程。 接下来的文章会更加深入剖析Bean容器如何解析xml,注册和初始化bean,以及如何获取bean实例等详细的过程。 1. 初始化 大致单步跟了下Spring…

hello hello 发布于 2024-09-01
上一页 下一页