Spring源码下载与编译
文章目录
- 环境准备
- 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:
- Precompile
spring-oxm
with./gradlew :spring-oxm:compileTestJava
- Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
- When prompted exclude the
spring-aspects
module (or after the import via File-> Project Structure -> Modules)- Code away
- 在解压缩后的源码路径下执行预编译指令:
./gradlew :spring-oxm:compileTestJava
- 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" }}
- 导入IntelliJ IDEA:
File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle
- 排除
spring-aspects
,aspects包在idea中不能完成编译,只能unload
测试
- new Module
- 引入
spring-context
项目
spring-context
包含了spring-aop
、spring-beans
、spring-core
等 Spring核心
- 简单测试
接口:
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源码下载与编译相关推荐
- Spring源码下载与编译,Debug学习才有效率
这里写自定义目录标题 一.源码下载 1.github源码下载 2.阅读项目编译文档 2.1.项目编译 (1).解压我们下载好的目录 (2).配置阿里云镜像 (3).编译 (4).遇到的坑 2.2.导入 ...
- spring源码下载编译
环境准备 spring源码 下载地址: Git->https://github.com/spring-projects/spring-framework.git gitee->https: ...
- VLC for Android源码下载和编译
Project Hosting on 点击打开链接 最受欢迎的开源项目 点击打开链接 由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏.图像处理.时间显示.开始菜单快捷方式等. ...
- ros源码下载及编译
Ros1 源码下载及编译 准备工作 Setup your sources.list Setup your computer to accept software from packages.ros.o ...
- WebRTC源码下载与编译
WebRTC源码编译 1 几种源码下载方案对比 1.1 拉别人下好的代码 1.2云服务器 1.3 国内镜像 1.4 挂代理(推荐) 2 源码编译环境准备 2.1 环境要求 2.2 代理服务器配置 2. ...
- Android12 源码下载、编译、刷机、单编调试Framework
文章目录 说明 1. 代码下载 1.1 下载Repo工具 1.2 安装和配置Git 1.3 创建工程目录 1.4 初始化Repo仓库 1.5 同步代码 2. 驱动下载 2.1 下载对应机型的驱动 2. ...
- 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译
本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:http://item.jd.com/12212640.html 试读地址:http:/ ...
- 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译...
本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:item.jd.com/12212640.ht- 试读地址:www.epubit.com ...
- SELinux零知识学习四、Audit应用层源码下载、编译和安装
接前一篇文章:SELinux零知识学习三.SELinux应用层源码下载.编译和安装 在前篇文章中编译SELinux源码时,出现了如下错误: seusers_local.c:11:10: 致命错误:li ...
最新文章
- viterbi维特比算法和隐马尔可夫模型(HMM)
- 如何将Vision Transformer应用在移动端?
- 如何定义经济的网络(后期可以随意剪枝)
- SQL SERVER 2012/ 2014 分页,用 OFFSET,FETCH NEXT改写ROW_NUMBER的用法(转)
- 课堂派派典型用户和场景
- Python验证码简单实现(数字和大写字母组成的4位验证码)
- springboot中使用缓存shiro-ehcache
- layui 按钮点击一次后失效_electron-vue自定义边框后点击事件失效问题
- python爬虫从小白到高手 Day1 爬取百度音乐歌单
- 【Linux 命令学习第三天】
- Dijkstra算法(朴素,堆优化)+例题
- 【基础教程】基于matlab图像去噪总结【含Matlab源码 1274期】
- 虚拟机系统iso镜像下载_[原版镜像]macOS Mojave 10.14.1 原版 iso 镜像- 虚拟机专用
- 16进制编辑器 linux,Tweak - Linux下的16进制编辑器
- USB HUB控制晶片介绍
- 关于信息安全产业的调研报告
- Xshell怎样才能实现快速粘贴复制
- 大厂面试:一个四年多经验程序员的BAT面经(转载)
- 小公司真的能培养出来自己的人吗?员工真的成长过快是好事吗?
- 软件著作权申请流程及注意事项,你知道多少?
热门文章
- Ardupilot 软件在环SITL仿真学习
- 开始读redis的源码了
- c语言一个数的n次方,Pow(x, n) 求一个数的n次方
- C语言库函数qsort()
- Cadence OrCAD Capture全局修改原理图的本地库符号的方法图文教程Update Catch功能
- orcad与pads的转换
- 计算机原理学习指导第3版,计算机组成原理学习指导与习题解析(第3版)(21世纪大学本科计算机...
- 【C++生前死后】生前做了什么
- 云服务器虚拟内存有用吗,云服务器上用虚拟内存有用
- Excel之XLSTransformer