首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java架构师必看

    Spring源码分析2

    Spring源码分析2 强烈推介IDEA2020.2破解激活,IntelliJ

    35920发布于 2021-05-14
  • 来自专栏后端从入门到精通

    SpringAOP(2)-spring源码详解(七)

    上篇文章说了spring的aop,在启动类加一个启动注解,注解点进源码可以看到注册了bean定义的后置处理器。每个切入点都会生成一个adviosr,他们会排序好依次注册。 他的顺序是before、after、afterRturning、afterThrowing SpringAOP(1)-spring源码详解(六) 这里解析到了环绕处理器,放入到aspectFactoryCache

    21640编辑于 2022-12-14
  • 来自专栏Coder小黑

    Spring5源码学习(2

    接上回 Spring5源码学习(1)已经讲完了this()方法,现在来看register(annotatedClasses);方法。 // new AnnotationConfigApplicationContext(AppConfig.class); 源码 public AnnotationConfigApplicationContext //org.springframework.beans.factory.support.DefaultListableBeanFactory#registerBeanDefinition方法源码 public (注册的是Spring内部一些postProcessor和我们代码传入的AppConfig类)。 ? this.beanFactory.beanDefinitionMap ---- 源码学习笔记GITHUB仓库地址:https://github.com/shenjianeng/spring-code-study

    47420发布于 2019-12-18
  • 来自专栏微信公众号【Java技术江湖】

    Spring源码剖析2:初探Spring IOC核心流程

    初始化 大致单步跟了下Spring IOC的初始化过程,整个脉络很庞大,初始化的过程主要就是读取XML资源,并解析,最终注册到Bean Factory中:在完成初始化的过程后,Bean们就在BeanFactory 理解了以上两个过程,我们就可以自己实现一个简单的Spring框架了。于是,我根据自己的理解实现了一个简单的IOC框架Simple Spring,有兴趣可以看看。 beanName, exposedObject, mbd); } } // ... ... } 理解了以上两个过程,我们就可以自己实现一个简单的Spring 于是,我根据自己的理解实现了一个简单的IOC框架Simple Spring,有兴趣可以看看。

    48210发布于 2019-11-26
  • 来自专栏小工匠聊架构

    Spring5源码 - 05 invokeBeanFactoryPostProcessors 源码解读_2

    ---- Pre 接上文 Spring5源码 - 04 invokeBeanFactoryPostProcessors 源码解读_1 ---- 源码解读 总体流程 ? ,Bean实例还没有被初始化 * 2)BeanFactoryPostProcessor(后执行) * 所有的Bean定义信息已经加载到容器中,但是Bean实例还没有被初始化 紧接着定义了2个集合 : 第一个集合 List regularPostProcessors 看List中的类型 BeanFactoryPostProcessor ,这个地方是存放我们手动提供给Spring 的后置处理器,注意这个手动, 并不是又Spring扫描得到的。 容器中就有值了,有了我们配置的所有的应该被Spring管理的类!

    49520发布于 2021-08-17
  • 来自专栏后端从入门到精通

    AOP源码解析(2)---Spring源码从入门到精通(十九)

    上篇文章主要讲了AOP的@EnableAspectAutoProxy注解,里面导入的类和执行的后置处理器: AOP源码解析(1)---Spring源码从入门到精通(十八) 阅读本篇文章,一定要先阅读上篇文章 ,运行的源码是基于上篇文章的代码,才方便理解,如果跳着阅读,感觉内容生涩,概不负责。 2、之后注册配置类,调用refresh(),刷新容器。 3、registerBeanPostProcessor方法注册bean后置处理器,来拦截bean的创建。 2)、给容器中加别的BeanPostProcessor。 3)、优先注册实现PriorityOrdered接口的BeanPostProcessor。

    38020编辑于 2022-07-26
  • 来自专栏漫漫架构路

    Spring源码学习笔记(2)——Bean的加载

    Spring源码学习笔记(2)——Bean的加载 一. Bean加载的核心流程 前面大概分析了Spring读取解析配置文件,并加载BeanDefinition的过程。本节详细整理下Bean的加载过程。 ); Object bean; //首先检查缓存中或者实例工厂中是否有对应的的实例,因为在创建Singleton Bean的时候可能存在依赖注入的情况,而在创建依赖时,为了避免循环依赖,Spring } 当我们使用applicationContext.getBean(“beanName”)方法从容器中获取bean时,就会走到AbstractBeanFactory的doGetBean()方法,这是Spring 从缓存中获取单例Bean 在Spring中,Singleton类型的Bean只会创建一次,然后存放在缓存中,后面获取时就直接从缓存中获取。 this.singletonFactories.remove(beanName); } } } } return singletonObject; } 上面方法中涉及到Spring

    47020发布于 2020-09-03
  • 来自专栏路过君BLOG from CSDN

    spring oauth2 authorization server 配置源码解析

    版本 1.2.1 源码 OAuth2 授权服务器配置 org.springframework.security.oauth2.server.authorization.config.annotation.web.configuration.OAuth2AuthorizationServerConfiguration extends AbstractOAuth2Configurer>, AbstractOAuth2Configurer> createConfigurers() { Map<Class<? extends AbstractOAuth2Configurer>, AbstractOAuth2Configurer> configurers = new LinkedHashMap<>(); / )); // 令牌获取端点 configurers.put(OAuth2TokenEndpointConfigurer.class, new OAuth2TokenEndpointConfigurer OAuth2DeviceVerificationEndpointConfigurer.class, new OAuth2DeviceVerificationEndpointConfigurer(this

    1.1K10编辑于 2024-01-06
  • 来自专栏迁移内容

    Spring源码Spring源码阅读环境搭建

    本篇内容包括:Mac 环境下 gradle 的安装和配置、源码克隆、新建测试类,测试Spring源码 等内容! 使用 gradle-wrapper.properties 中 distributionUrl 链接下载 gradle-5.6.4 到电脑目标位置并解压 Ps:确认对应版本很重要,不然很大概率会有问题 2、 GitHub 个人仓库 1、Fork GitHub 中的 Spring 官方源码到自己的 GitHub 仓库 # fork源码到个人GitHub仓库 2、同步 GitHub 个人仓库 Spring 源码到 Gitee 个人仓库 # 打开码云gitee新建仓库,点击从其他网站已有仓库导入 # 输入自己GitHub中Spring源码仓库地址URL创建gitee的Spring个人源码仓库 Ps:如果已经配置了 Spring源码 1、新建 my-test 模块进行源码测试 # 新建 module # module 命名 my-test 2、修改 build.gradle 文件 模块创建好之后只有一个build.gradle

    1K20编辑于 2022-12-01
  • 来自专栏全栈程序员必看

    读懂spring源码_如何阅读spring源码

    环境搭建 sping源码之前是svn管理,现在已经迁移到了github中了,新版本基于gradle构建项目。所以构建sping源码环境必须先安装github以及Gradle. 当然了如果不想安装github客户端可以直接去git下载项目: spring中git地址https://github.com/spring-projects/spring-framework 安装github 下载完成之后命令界面如下图所示: 下载完成之后 看下下载的目录吧: ok了,但是默认的这种方式并不是eclipse项目,我们还需要将源码转化为eclipse项目。 : spring3X系列需要jdk5以上版本,spring4X编译需要jdk8版本,根据自己编译的版本决定。 最终效果: ok大功告成,开启我们的spring源码学习之旅吧。加油奋斗。

    73430编辑于 2022-09-22
  • 来自专栏鳄鱼儿的技术分享

    Spring源码学习,Spring Framework源码编译

    Spring Framework源码编译 博主本地java版本为 java version "11.0.10" 拉取源码 选定存放路径直接只用git clone拉取最新源码 git clone https ://github.com/spring-projects/spring-framework.git 目前最新RELEASE版本是5.2.18,编译前需要将tag切换至这个版本。 源码命令行编译测试 使用以下两条指令进行编译测试 ./gradlew :spring-oxm:compileTestJava // 官方建议 . ☘️运行测试 这里可以看出一共有6个Bean,我们定义了2个Bean,分别是msg、application。 参考 spring.io/projects/sp…

    35610编辑于 2024-05-21
  • 来自专栏卯金刀GG

    spring源码解析】spring源码报错问题

    下载spring5.0.4源码 用gradle 编译生成了 spring-jcl spring-core spring-beans 3个eclipse 项目 但是 spring-core 下面的一个 错误2: 提示:GroovyDynamicElementReader cannot be resolved to a type 添加eclipse的groovy插件, 在eclipse的 Help ->

    1.6K20发布于 2019-07-25
  • 源码spring源码解析

    Spring 框架中,核心模块是 Spring Core,它提供了 IoC(Inversion of Control)容器和依赖注入的支持。 在案例分析中,我们可以以一个简单的示例来解析 Spring 框架的源码。假设我们有一个简单的 Web 应用程序,需要实现用户管理的功能,包括用户的增删改查。 然后,我们需要配置 Spring MVC 框架的相关配置。 以上是一个简单的 Spring MVC 应用程序的案例分析。通过这个案例,我们可以深入理解 Spring 框架的工作原理,包括 IoC 容器的实现、依赖注入的过程、AOP 的实现等。 同时,我们也可以通过调试源码的方式来进一步了解 Spring 框架的内部实现细节。

    21210编辑于 2025-08-29
  • 来自专栏爪哇缪斯

    (六)Spring源码解析:Spring AOP源码解析

    但是为了配置简便,Spring使用了自定义配置来帮助我们自动注册AnnotationAwareAspectJAutoProxyCreator,注册流程如下所示: public static BeanDefinition ) continue; // isEligibleBean方法默认返回true // 官方注释:我们必须小心不要急切地实例化bean,因为在这种情况下,它们将被Spring b> 步骤2:根据切点信息生成增强 我们可以看到,在步骤2中,是通过创建一个InstantiationModelAwarePointcutAdvisorImpl实例对象来生成切点的增强的,源码如下所示: 更多技术干货,欢迎大家关注公众号“爪哇缪斯” ~ \(^o^)/ ~ 「干货分享,每天更新」 往期推荐 (五)Spring源码解析:ApplicationContext解析 (四)Spring源码解析 :bean的加载流程 (三)Spring源码解析:自定义标签解析 (二)Spring源码解析:默认标签解析 (一)Spring源码解析:容器的基本实现

    1.3K30编辑于 2023-09-06
  • 来自专栏杨不易呀

    Spring框架源码分析之Spring源码编译

    Spring 源码环境搭建Spring 源码下载地址:https://github.com/spring-projects/spring-frameworkGradle 下载地址:https://gradle.org /releases/查看 Spring 源码中使用的 Gradle 版本,打开下载好的 Spring 源码解压,然后进入到如下图所示的目录当中:图片打开 gradle-wrapper.properties Xmx2048Morg.gradle.caching=trueorg.gradle.parallel=trueorg.gradle.configureondemand=trueorg.gradle.daemon=true导入源码依次点击 File → New → Project from Existing Sources,选择源码包路径下的 build.gradle 文件完成源码导入如下图:图片图片idea 配置 gradle依次点击 预编译先编译 spring-core 点击 idea 右边的侧边栏当中的 gradle 选择该模块,spring-core/Tashks/other/compileTestJava 如下图:图片spring-core

    934110编辑于 2023-09-25
  • 来自专栏springboot

    Spring源码解析(十):spring整合mybatis源码

    // 1.解析XML配置 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); // 2. spring整合mybatis使用 SqlSession对象以及代理对象都交给spring容器来创建 直接从容器中获取Mapper接口的实现类(代理对象)即可 @Configuration //声明该类是核心配置类 整合mybatis原理 根据上面spring整合mybatis的配置类的信息,要想清楚Spring是如何整合Mybatis的,我们只要弄明白两点 @MapperScan注解的作用 SqlSessionFactoryBean Spring跟Mybatis整合 // 最重要的事情就是将Mybatis生成的代理对象交由Spring来管理 // 实现这个功能的就是这个MapperFactoryBean Class<? 源码解析(二):bean容器的创建、默认后置处理器、扫描包路径bean 核心内容就是扫描指定包将符合要求Class注册bean定义 # ClassPathBeanDefinitionScanner类方法

    39011编辑于 2025-01-21
  • 来自专栏java架构师

    【学习底层原理系列】重读spring源码2-入口

    上篇介绍了Spring IOC的核心功能,都在refresh()方法里。那么这个方法是从哪发起调用的呢? <param-name>contextConfigLocation</param-name> <param-value> classpath*:config/spring 题外:contextConfigLocation是spring的配置文件存放路径。

    40920发布于 2021-04-23
  • 来自专栏JAVA体系

    Spring源码Spring Event事件

    今天就来讲一下Spring的事件机制。 2、什么是Spring Event? Spring框架中的事件是一种观察者设计模式的实现,用于在应用程序中处理各种状态变化。 3、基本使用 Spring Event的使用基本有以下几个步骤:定义事件,发布事件,监听事件。 不想为每个事件处理都创建一个ApplicationListener实现类;2. 希望支持更复杂的事件条件过滤。 doSomething(); } } 4、Spring Event是同步还是异步? 默认情况下 Spring Event是同步执行的。你怎么这么确定?我们先来演示下上面的demo。 4.1、源码实现 如果还是不信?

    97710编辑于 2024-01-25
  • 来自专栏全栈程序员必看

    spring源码搭建_spring实战

    在构建spring源码前,我们首先要准备好环境。spring 5.x版本需要jdk1.8及以上版本的支持,jdk版本过低的同学请先升级,这里不做过多累赘。 二、源码下载 从Spring 3.0开始,Spring源码采用GitHub托管,不再提供官网下载链接。 这里不做过多赘述,大家可自行去GitHub网站下载,我使用的版本为:v5.1.0.RELEASE,下载完成后,解压源码包会看到如下图所示的文件目录。 三、源码编译 第一步,修改镜像(build.gradle)。 /libs-spring-framework-build" } } 第三步,将源码导入到idea 。

    1.1K30编辑于 2022-09-22
  • 来自专栏JAVA体系

    Spring源码Spring事务原理

    2Spring事务基本概念 2.1、基础配置 我们先来回顾一下Spring事务的基础配置信息,以下由ChatGPT给我们提供的相关资料: 2.1.1、Spring事务的基础配置 1、问:Spring事务的基础配置 网上借来一张Spring事务API架构图: 3、事务嵌套 前面2章节都是从理论知识的角度阐述了事务的一些基本特性。显然这些背诵的八股文一下子就忘记了。接下来我们以实际业务的角度来分析一下几种传播机制。 4、源码看事务 Spring中通过注解@EnableTransactionManagement开启事务,那么我们从这个注解开始入手: @Target(ElementType.TYPE) @Retention throw ex2; } } } } 至此,基本上源码的大致事务处理流程就已经走完。 5、事务失效 前面讲到了一些Spring相关的基础理论知识,以及源码是如何实现的。

    75110编辑于 2024-01-25
领券