Spring的整体架构和环境搭建
1. 概述Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。 2. spring的整体架构Spring框...
1. 概述Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。 2. spring的整体架构Spring框...
1. 概述这篇我们开始真正的阅读Spring的源码,分析spring的源码之前我们先来简单回顾下spring核心功能的简单使用。 2. 容器的基本用法bean是spring最核心的东西,spring就像是一个大水桶,而bean就是水桶中的水,水桶脱离了水也就没有什么用处了,我们简单看下bean的定义,代码如下: 123456789101112131415161718package com.c...
之前我们已经介绍了spring中默认标签的解析,解析来我们将分析自定义标签的解析,我们先回顾下自定义标签解析所使用的方法,如下图所示: 我们看到自定义标签的解析是通过BeanDefinitionParserDelegate.parseCustomElement(ele)进行的,解析来我们进行详细分析。 1. 自定义标签的使用扩展 Spring 自定义标签配置一般需要以下几个步骤: 创建一...
概述: 本文主要研究Spring标签的解析,Spring的标签中有默认标签和自定义标签,两者的解析有着很大的不同,这次重点说默认标签的解析过程。 默认标签的解析是在DefaultBeanDefinitionDocumentReader.parseDefaultElement函数中进行的,分别对4种不同的标签(import,alias,bean和beans)做了不同处理。我们先看下此函数的源...
本文主要来看看标签解析剩余部分及BeanDefinition的注册。 1. 默认标签中的自定义标签解析在上篇博文中我们已经分析了对于默认标签的解析,我们继续看戏之前的代码,如下图片中有一个方法:delegate.decorateBeanDefinitionIfRequired(ele, bdHolder) 这个方法的作用是什么呢?首先我们看下这种场景,如下配置文件: 12345<...
原文链接 1. 正文@Configuration注解提供了全新的bean创建方式。最初spring通过xml配置文件初始化bean并完成依赖注入工作。从spring3.0开始,在spring framework模块中提供了这个注解,搭配@Bean等注解,可以完全不依赖xml配置,在运行时完成bean的创建和初始化工作。例如: 1234567891011121314151617public...
资料来源:地址 1. 前置知识1.1 spring中bean注入的三种形式12345678@Data@NoArgsConstructor@AllArgsConstructorpublic class Person { private String name; private Integer age; private Boolean sex;} s...
1. 什么是JDK动态代理?1.1 什么是代理模式(Proxy Pattern)代理模式是一种设计模式,它通过为其他对象提供一个代理或占位符来控制对原始对象的访问。即通过代理对象访问目标对象。 代理模式可以在不修改原始类代码的情况下,通过代理类,添加一些功能操作,比如添加方法调用的预处理、后处理等。 代理模式的基本概念包括以下几个部分: 抽象对象(Subject): 这是一个接口,定义了代...