首页 > 编程语言 >Spring源码深度解析_源码构建

Spring源码深度解析_源码构建

时间:2023-12-22 23:04:30浏览次数:45  
标签:web Spring 源码 Context spring 引入 解析

源码构建

1.下载

  • spring-jcl:spring 封装的日志框架。
  • spring-core:spring 核心依赖,包含 Spring 框架基本的核心工具类, Spring 的其他纽件都要用到这个包里的类, Core 模块是其他纽件的基本核心,引入该依赖会同时引入spring-core、spring-jcl
  • spring-beans:所有应用都要用到的,包含访问配直文件、创建和管理 bean 以及进行 IOC/DI 操作相关的所有类
  • spring-context:Context 模块构建于 Core Beans 模块基础之上,提供了一种类似于 JNDI 注册器的框架式的对象访问方法。Context 模块继承了 Beans 的特性,为 Spring 核心提供了大量扩展,添加了对国际化 (例如资源绑定)、事件传播、资源加载、定时任务和对 Context 透明创建的支持。Context 模块同时也支持 J2EE 的一些特性, 例如 EJB 、JMX 和基础的远程处理。ApplicationContext 接口是 Context 模块的关键。
  • spring-jdbc:spring 对 jdbc 的封装,并提供了编程式事务控制,引入该依赖会同时引入spring-jdbc、spring-tx
  • spring-tx:spring 提供的声明式事务控制,包含 @Transaction 声明式事务注解
  • spring-web:spring 的 web 框架,引入该依赖会同时引入spring-beans、spring-core、spring-jcl、spring-web
  • spring-webmvc:springmvc 框架,是 web 的一个实现,引入该依赖会同时引入spring-aop、spring-beans、spring-context、spring-core、spring-expression、spring-jcl、spring-web、spring-webmvc,做一般的 web 开发可以直接引入该依赖即可,不必引入其他 spring 依赖。

2.构建

  • Spring5 以后采用 Gradle 来编译,因此构建源码前先安装 Gradle 环境。这里使用 IDEA2020.1.3 版本打开工程后,IDEA 会自动下载对应 Gradle4.3.1 版本的zip包,并自行开始构建,Gradle 版本可以在源码根目录下的 build.gradle 文件找到 gradleVersion = 4.3.1 配置。通常会出现两个问题:
  • integration-0.9.15.pom 找不到:在 build.gradle 文件中,将 id "org.jetbrains.dokka" version "0.9.15" 其版本 0.9.15 修改为 0.9.17 即可。
  • 多种依赖找不到:找到 build.gradle 文件中的 repositories,在第一行添加如下:
repositories {
    maven { url "http://maven.aliyun.com/nexus/content/groups/public"}  //添加阿里云环境
    maven { url "https://repo.spring.io/libs-release" }
    maven { url "https://repo.spring.io/milestone" }  // for AspectJ 1.9 beta
}

标签:web,Spring,源码,Context,spring,引入,解析
From: https://blog.51cto.com/u_15655475/8939131

相关文章

  • Spring Framework Reference 5.3.27 - Core Technologies
    目录Chapter1.TheIoCContainerSpringIoC容器和bean介绍Chapter2.ResourcesChapter3.Validation,DataBinding,andTypeConversionChapter4.SpringExpressionLanguage(SpEL)Chapter5.AspectOrientedProgrammingwithSpringChapter6.SpringAOPAPIsChapter......
  • Spring Boot Reference 2.7.11
    目录UsingSpringBootBuildSystems代码风格配置类自动配置SpringBeansandDependencyInjection使用@SpringBootApplication注解RunningYourApplication开发者工具CoreFeatureCreatingYourOwnAuto-configuration加载自动配置候选项条件注解测试自动配置类创建自己的star......
  • spring中BeanPostProcessor介绍
    介绍BeanPostProcessor是Spring框架提供的一个接口,用于在Spring容器中对Bean进行后处理。工作原理在Spring容器启动时,会扫描所有BeanPostProcessor实现类。当Spring容器创建Bean时,会调用BeanPostProcessor的postProcessBeforeInitialization()方法。当S......
  • Spring基于注解的AOP事务控制
    Spring基于注解的AOP事务控制源码代码测试pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schem......
  • Spring基于XML AOP事务控制
    Spring基于XMLAOP事务控制源码代码测试pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:sche......
  • Spring JdbcTemplate操作数据库
    SpringJdbcTemplate操作数据库源码代码测试pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi......
  • PHP医院手术麻醉系统源码,与HIS系统无缝对接,自动采集相关数据,生成医疗文书
    手术麻醉系统源码包括两大部分,手术管理和麻醉管理。1. 手术管理手术管理主要包括手术申请、手术安排、术中相关工作、手术室相关工作。手术安排:手术室安排、手术护士安排等。术中相关工作:器械清点、术中护理记录等。手术室相关工作:人员排班、工作量统计、手术时间统计等。同时,还可......
  • Spring 基于注解的AOP面向切面编程
    Spring基于注解的AOP面向切面编程源码代码实现pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:sc......
  • Spring AOP面向切面编程 通知类型
    SpringAOP面向切面编程通知类型通知分为:前置通知执行方法之前通知后置通知执行方法之后通知异常通知相当于cache里面的内容最终通知相当于finally环绕通知前四种通知集合源码代码实现pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projec......
  • Spring Security without the WebSecurityConfigurerAdapter
     ENGINEERING | ELEFTHERIASTEIN-KOUSATHANA | FEBRUARY21,2022 | ...InSpringSecurity5.7.0-M2we deprecated the WebSecurityConfigurerAdapter,asweencourageuserstomovetowardsacomponent-basedsecurityconfiguration.Toassistwiththet......