亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

瀏覽:70日期:2023-09-24 08:13:56

本篇主要講解如何使用Ideal 搭建Spring的源碼環(huán)境,想必大家都會(huì)多多少少去看過Spring的部分源碼,一般我們都是直接點(diǎn)進(jìn)某個(gè)Spring類 然后Idea上面去下載 ,但是確實(shí)比較麻煩,而且不能添加自己對(duì)源碼的注釋 理解 ,本篇就來解決這個(gè)問題,手把手使用Idea 搭建Spring framework ,并且直接在Spring framework項(xiàng)目中添加我們自己的module 來驗(yàn)證環(huán)境是否正確。 本過程會(huì)比較耗時(shí) 而且容易出錯(cuò) 慢慢來吧。

1. clone spring-framework 項(xiàng)目1.1 找到github spring-framwwork 項(xiàng)目

先登錄github 找到 spring-framework項(xiàng)目

https://github.com/spring-projects

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

我選擇的是 5.0.x

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

如果你覺得你網(wǎng)速可以,那你可以直接從 github clone 下來, 我這里先把項(xiàng)目傳到 gitee

1.2 fork 到gitee 碼云

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

拉取你要的 分支 git clone -b 分支

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

2. 查看 import-into-idea.md 文件

在下載的源碼中 有一個(gè)文件是 import-into-idea 的 md文件 里面有關(guān)于導(dǎo)入 idea需要的 注意事項(xiàng),我們來打開它

The following has been tested against IntelliJ IDEA 2016.2.2## Steps_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## Known issues1. `spring-core` and `spring-oxm` should be pre-compiled due to repackaged dependencies.See `*RepackJar` tasks in the build and https://youtrack.jetbrains.com/issue/IDEA-160605).2. `spring-aspects` does not compile due to references to aspect types unknown toIntelliJ IDEA. See https://youtrack.jetbrains.com/issue/IDEA-64446 for details. In the meantime, the’spring-aspects’ can be excluded from the project to avoid compilation errors.3. While JUnit tests pass from the command line with Gradle, some may fail when run fromIntelliJ IDEA. Resolving this is a work in progress. If attempting to run all JUnit tests from withinIntelliJ IDEA, you will likely need to set the following VM options to avoid out of memory errors: -XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m4. If you invoke 'Rebuild Project' in the IDE, you’ll have to generate some testresources of the `spring-oxm` module again (`./gradlew :spring-oxm:compileTestJava`) ## TipsIn any case, please do not check in your own generated .iml, .ipr, or .iws files.You’ll notice these files are already intentionally in .gitignore. The same policy goes for eclipse metadata.## FAQQ. What about IntelliJ IDEA’s own [Gradle support](https://confluence.jetbrains.net/display/IDEADEV/Gradle+integration)?A. Keep an eye on https://youtrack.jetbrains.com/issue/IDEA-53476

大致意思就是

2.1 在源碼目錄下執(zhí)行

./gradlew :spring-oxm:compileTestJava

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

2.2 再導(dǎo)入導(dǎo) idea 中

會(huì)開始下載 Gradle 構(gòu)建工具 等,會(huì)根據(jù) gradle-wrapper.properties 中的指定版本下載,最好不要修改它的版本

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

Idea導(dǎo)入 選擇文件夾

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

選擇使用Gradle

![image-20200924103346932](/Users/johnny/Library/Application Support/typora-user-images/image-20200924103346932.jpg)

靜靜的等待

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

2.3 排除 'spring-aspects'

排除了 spring-aspects 項(xiàng)目

打開settings.gradle 把 //include 'spring-aspects' 注釋了

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

2.4 下載完依賴后 (耗時(shí)可能要個(gè)15-30分鐘)

可以發(fā)現(xiàn) 依賴都加載完成后,idea 就能識(shí)別我們導(dǎo)入的 spring項(xiàng)目了,并且圖標(biāo)都變亮了

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

3.引入自定義模塊放入SpringFramework 項(xiàng)目下

下面就是來驗(yàn)證 我們的 源碼環(huán)境是否 正常, 需要引入一個(gè)自定義的 模塊,并且依賴 core bean 等spring依賴

3.1 新建module

右擊項(xiàng)目 -》 new -》 module 選擇 gradle 項(xiàng)目

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

3.2 添加 依賴

在新建的module下 打開 build.gradle 引入下面的依賴 spring-beans , spring-context , spring-core , spring-expression

dependencies { testCompile group: ’junit’, name: ’junit’, version: ’4.12’ compile(project(':spring-beans')) compile(project(':spring-context')) compile(project(':spring-core')) compile(project(':spring-expression'))}3.3 檢查 module 是否被引入

打開settings.gradle 添加 include ’spring-demo’ ,默認(rèn)使用我說的創(chuàng)建module 方式 會(huì)自動(dòng)添加的最好檢查一下

3.4 編寫 測(cè)試代碼

3.4.1 定義Person類

package com.johnny.bean;/** * @author johnny * @create 2020-09-07 下午11:22 **/public class Person { private String name; private int age; @Override public String toString() { return 'Person{' + 'name=’' + name + ’’’ + ', age=' + age + ’}’; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}

3.4.2 resources 下新建 demo.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/beans http://www.springframework.org/schema/beans/spring-beans.xsd'> <bean id='person'> <property name='name' value='johnny'/> <property name='age' value='10'/> </bean></beans>

3.4.3 新建main 加載xml 并且從容器中獲取 bean

package com.johnny.bean;import org.springframework.context.support.ClassPathXmlApplicationContext;/** * @author johnny * @create 2020-09-07 下午11:24 **/public class DemoMain { public static void main(String[] args) { ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext('demo.xml'); Person person = classPathXmlApplicationContext.getBean(Person.class); System.out.println(person); }}

可以看到 能獲取到 容器中的Bean ,表示我們的spring環(huán)境搭建正確

Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

總結(jié)

本篇主要講解 如何使用idea 搭建spring源碼環(huán)境,過程其實(shí)很耗時(shí) 而且特別容易出錯(cuò),總結(jié)就是 1. clone 代碼,2.進(jìn)入源碼目錄執(zhí)行 ./gradlew :spring-oxm:compileTestJava3.導(dǎo)入idea 中 4. 排除 exclude the spring-aspects module 5.自定義module 驗(yàn)證環(huán)境 , 祝愿大家環(huán)境搭建順利。。。最好開個(gè)墻

本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布!

到此這篇關(guān)于Idea 搭建Spring源碼環(huán)境的文章就介紹到這了,更多相關(guān)Idea Spring源碼環(huán)境內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 国产亚洲欧美在线视频 | 国产福利在线免费观看 | 欧美最刺激好看的一级毛片 | 韩国黄色一级毛片 | 丝袜足交在线播放 | 一级片在线免费播放 | 欧美呦女 | 无码中文字幕乱在线观看 | 国产1024观看免费视频 | 一级毛片aa高清免费观看 | 国产日韩欧美不卡www | 免费精品美女久久久久久久久久 | 成人αv在线视频高清 | 手机看片自拍 | 精品国产成人a在线观看 | 亚洲精品欧美精品一区二区 | 欧美在线观看视频免费 | 亚洲国产婷婷综合在线精品 | 免费一级特黄特色黄大任片 | 亚洲丁香婷婷综合久久六月 | 国产精品大白天新婚身材 | 精品国产一区二区三区香蕉沈先生 | 欧美日本亚洲国产一区二区 | 曰批全过程免费动态图 | 一级毛片aaa片免费观看 | 国产成人亚洲精品77 | 国产中日韩一区二区三区 | 国产2页| 国产香蕉98碰碰久久人人 | 国产欧美成人免费观看视频 | 国产麻豆视频免费观看 | 在线免费观看一级毛片 | 久久精品国产2020 | 精品九九九 | 爱爱网网站免费观看 | 国产福利视频一区二区 | 麻豆国产精品视频 | 亚洲免费在线视频播放 | 九月婷婷综合婷婷 | 成人网在线视频 | 久久天天躁狠狠躁夜夜爽蜜月 |