文章目录

  • 环境准备
  • Spring源码下载
  • 导入IDEA
  • 测试

环境准备

  • 安装jdk,idea,maven并做好相应配置
  • 操作系统:windows

Spring源码下载

Spring源码Github仓库地址为:https://github.com/spring-projects/spring-framework

首先,选择合适的RELEASE版本,然后下载ZIP包即可

软件版本介绍:

  • GA:General Availability,官方正式发布的稳定版本,同质的还有RELEASE,Stable,Final
  • RC:Release Candidate,发行候选版本,基本不再加入新的功能
  • Alpha:内部测试版本,bug较多,功能不全
  • Beta:公开测试版,比Alpha版本晚些,还会加功能,修bug
  • M:Milestone,开发期发行版本,边开发边发行

导入IDEA

import-into-idea

Within your locally cloned spring-framework working directory:

  1. Precompile spring-oxm with ./gradlew :spring-oxm:compileTestJava
  2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
  3. When prompted exclude the spring-aspects module (or after the import via File-> Project Structure -> Modules)
  4. Code away
  1. 在解压缩后的源码路径下执行预编译指令:./gradlew :spring-oxm:compileTestJava

  1. build.gradle 文件里配置阿里云镜像加速

buildscript {repositories {maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }maven { url 'https://maven.aliyun.com/repository/jcenter' }}dependencies {classpath 'org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16'classpath 'io.spring.asciidoctor:spring-asciidoctor-extensions:0.1.3.RELEASE'}
}

     repositories {maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }maven { url 'https://maven.aliyun.com/repository/jcenter' }mavenCentral()maven { url "https://repo.spring.io/libs-spring-framework-build" }}
  1. 导入IntelliJ IDEA:File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle

  1. 排除 spring-aspects,aspects包在idea中不能完成编译,只能unload

测试

  1. new Module

  1. 引入spring-context项目

spring-context 包含了 spring-aopspring-beansspring-core 等 Spring核心

  1. 简单测试

接口:

package com.uestc;public interface HelloService {void sayHello(String name);
}

实现:

package com.uestc.Impl;
import com.uestc.HelloService;public class HelloServiceImpl implements HelloService {@Overridepublic void sayHello(String name) {System.out.println("Hi~" + name);}
}

spring-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="helloService" class="com.uestc.Impl.HelloServiceImpl"/></beans>

参考:https://docs.spring.io/spring-framework/docs/current/reference/html/core.html

调用Main方法:

package com.uestc;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;public class Main {public static void main(String[] args) {// xml文件绝对路径String xmlPath = "E:\\Java\\javaWorkSpace\\spring-framework-5.2.0.RELEASE\\spring-demo\\src\\main\\resources\\spring-config.xml";// 解析spring的配置文件ApplicationContext applicationContext = new FileSystemXmlApplicationContext(xmlPath);// 获取配置文件的 <bean id="helloService" .... />HelloService helloService = (HelloService)applicationContext.getBean("helloService");// 调用方法helloService.sayHello("China");}
}

Spring源码下载与编译相关推荐

  1. Spring源码下载与编译,Debug学习才有效率

    这里写自定义目录标题 一.源码下载 1.github源码下载 2.阅读项目编译文档 2.1.项目编译 (1).解压我们下载好的目录 (2).配置阿里云镜像 (3).编译 (4).遇到的坑 2.2.导入 ...

  2. spring源码下载编译

    环境准备 spring源码 下载地址: Git->https://github.com/spring-projects/spring-framework.git gitee->https: ...

  3. VLC for Android源码下载和编译

    Project Hosting on 点击打开链接 最受欢迎的开源项目 点击打开链接 由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏.图像处理.时间显示.开始菜单快捷方式等. ...

  4. ros源码下载及编译

    Ros1 源码下载及编译 准备工作 Setup your sources.list Setup your computer to accept software from packages.ros.o ...

  5. WebRTC源码下载与编译

    WebRTC源码编译 1 几种源码下载方案对比 1.1 拉别人下好的代码 1.2云服务器 1.3 国内镜像 1.4 挂代理(推荐) 2 源码编译环境准备 2.1 环境要求 2.2 代理服务器配置 2. ...

  6. Android12 源码下载、编译、刷机、单编调试Framework

    文章目录 说明 1. 代码下载 1.1 下载Repo工具 1.2 安装和配置Git 1.3 创建工程目录 1.4 初始化Repo仓库 1.5 同步代码 2. 驱动下载 2.1 下载对应机型的驱动 2. ...

  7. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:http://item.jd.com/12212640.html 试读地址:http:/ ...

  8. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译...

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:item.jd.com/12212640.ht- 试读地址:www.epubit.com ...

  9. SELinux零知识学习四、Audit应用层源码下载、编译和安装

    接前一篇文章:SELinux零知识学习三.SELinux应用层源码下载.编译和安装 在前篇文章中编译SELinux源码时,出现了如下错误: seusers_local.c:11:10: 致命错误:li ...

最新文章

  1. viterbi维特比算法和隐马尔可夫模型(HMM)
  2. 如何将Vision Transformer应用在移动端?
  3. 如何定义经济的网络(后期可以随意剪枝)
  4. SQL SERVER 2012/ 2014 分页,用 OFFSET,FETCH NEXT改写ROW_NUMBER的用法(转)
  5. 课堂派派典型用户和场景
  6. Python验证码简单实现(数字和大写字母组成的4位验证码)
  7. springboot中使用缓存shiro-ehcache
  8. layui 按钮点击一次后失效_electron-vue自定义边框后点击事件失效问题
  9. python爬虫从小白到高手 Day1 爬取百度音乐歌单
  10. 【Linux 命令学习第三天】
  11. Dijkstra算法(朴素,堆优化)+例题
  12. 【基础教程】基于matlab图像去噪总结【含Matlab源码 1274期】
  13. 虚拟机系统iso镜像下载_[原版镜像]macOS Mojave 10.14.1 原版 iso 镜像- 虚拟机专用
  14. 16进制编辑器 linux,Tweak - Linux下的16进制编辑器
  15. USB HUB控制晶片介绍
  16. 关于信息安全产业的调研报告
  17. Xshell怎样才能实现快速粘贴复制
  18. 大厂面试:一个四年多经验程序员的BAT面经(转载)
  19. 小公司真的能培养出来自己的人吗?员工真的成长过快是好事吗?
  20. 软件著作权申请流程及注意事项,你知道多少?

热门文章

  1. Ardupilot 软件在环SITL仿真学习
  2. 开始读redis的源码了
  3. c语言一个数的n次方,Pow(x, n) 求一个数的n次方
  4. C语言库函数qsort()
  5. Cadence OrCAD Capture全局修改原理图的本地库符号的方法图文教程Update Catch功能
  6. orcad与pads的转换
  7. 计算机原理学习指导第3版,计算机组成原理学习指导与习题解析(第3版)(21世纪大学本科计算机...
  8. 【C++生前死后】生前做了什么
  9. 云服务器虚拟内存有用吗,云服务器上用虚拟内存有用
  10. Excel之XLSTransformer