6 Star 40 Fork 29

SunStrider/spring-boot-first-version-learn

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README

spring-boot-first-version-learn

介绍

将 spring boot 项目克隆后,reset到了第一个版本,本工程即为那时的代码,提交时间是2013年4月。 依赖的 spring 版本是快照版spring,版本是 spring 4.0.0.BOOTSTRAP-SNAPSHOT 本工程对代码进行了注释,方便阅读;本工程会持续更新,如果fork到自己的仓库后,需要拉取我这边最新的注释,可以在自己仓库新增一个远端仓库(即我这边),然后拉取最新的注释,请自行搜索相关方法

如果下载依赖时遇到一些问题,请务必阅读以下说明。

另外,本工程在博客园已经更新了部分博文,博文中的demo代码即存储于本仓库的 all-demo-in-spring-learning 目录下。

博客园地址:

曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享

曹工说Spring Boot源码(2)-- Bean Definition到底是什么,咱们对着接口,逐个方法讲解

曹工说Spring Boot源码(3)-- 手动注册Bean Definition不比游戏好玩吗,我们来试一下

曹工说Spring Boot源码(4)-- 我是怎么自定义ApplicationContext,从json文件读取bean definition的?

曹工说Spring Boot源码(5)-- 怎么从properties文件读取bean

曹工说Spring Boot源码(6)-- Spring怎么从xml文件里解析bean的

曹工说Spring Boot源码(7)-- Spring解析xml文件,到底从中得到了什么(上)

曹工说Spring Boot源码(8)-- Spring解析xml文件,到底从中得到了什么(util命名空间)

曹工说Spring Boot源码(9)-- Spring解析xml文件,到底从中得到了什么(context命名空间上)

曹工说Spring Boot源码(10)-- Spring解析xml文件,到底从中得到了什么(context:annotation-config 解析)

曹工说Spring Boot源码(11)-- context:component-scan,你真的会用吗(这次来说说它的奇技淫巧)

曹工说Spring Boot源码(12)-- Spring解析xml文件,到底从中得到了什么(context:component-scan完整解析)

曹工说Spring Boot源码(13)-- AspectJ的运行时织入(Load-Time-Weaving),基本内容是讲清楚了(附源码)

曹工说Spring Boot源码(14)-- AspectJ的Load-Time-Weaving的两种实现方式细细讲解,以及怎么和Spring Instrumentation集成

曹工说Spring Boot源码(15)-- Spring从xml文件里到底得到了什么(context:load-time-weaver 完整解析)

曹工说Spring Boot源码(16)-- Spring从xml文件里到底得到了什么(aop:config完整解析【上】)

曹工说Spring Boot源码(17)-- Spring从xml文件里到底得到了什么(aop:config完整解析【中】)

曹工说Spring Boot源码(18)-- Spring AOP源码分析三部曲,终于快讲完了 (aop:config完整解析【下】)

曹工说Spring Boot源码(19)-- Spring 带给我们的工具利器,创建代理不用愁(ProxyFactory)

曹工说Spring Boot源码(20)-- 码网恢恢,疏而不漏,如何记录Spring RedisTemplate每次操作日志

曹工说Spring Boot源码(21)-- 为了让大家理解Spring Aop利器ProxyFactory,我已经拼了

曹工说Spring Boot源码(22)-- 你说我Spring Aop依赖AspectJ,我依赖它什么了

曹工说Spring Boot源码(23)-- ASM又立功了,Spring原来是这么递归获取注解的元注解的

曹工说Spring Boot源码(24)-- Spring注解扫描的瑞士军刀,asm技术实战(上)

曹工说Spring Boot源码(25)-- Spring注解扫描的瑞士军刀,ASM + Java Instrumentation,顺便提提Jar包破解

曹工说Spring Boot源码(26)-- 学习字节码也太难了,实在不能忍受了,写了个小小的字节码执行引擎

曹工说Spring Boot源码(27)-- Spring的component-scan,光是include-filter属性的各种配置方式,就够玩半天了

曹工说Spring Boot源码(28)-- Spring的component-scan机制,让你自己来进行简单实现,怎么办

使用步骤

  1. 克隆代码

    git clone https://gitee.com/ckl111/spring-boot-first-version-learn.git
    
  2. 找到自己的maven安装目录,切换到conf目录下,将自己原先的settings.xml保存备份起来,然后使用spring-boot-first-version-learn下的settings.xml。

    注意修改其中的本地仓库地址,设置为你自己需要的目录。

  3. 有一个jar包,需要先安装到本地仓库:

    cd spring-boot-first-version-learn\springcore\src\main\resources\lib
    
    mvn install:install-file -Dfile=spring-core-4.0.0.BOOTSTRAP-SNAPSHOT-only-asm-cglib.jar -DgroupId=com.spring -DartifactId=spring-core-only-asm-cglib -Dversion=4.0.0 -Dpackaging=jar
    
  4. 此时,在spring-boot-first-version-learn目录下,执行

    cd spring-boot-first-version-learn
    mvn -DskipTests=true compile
    

    基本上,执行以上几步后,即可成功编译该项目。

  5. 导入ide,以idea为例

    直接导入以上maven项目即可,另外,请另行import 如下module:

    spring-boot-first-version-learn\all-demo-in-spring-learning\spring-aggregator

    建议都使用本聚合module进行compile。

问题1,阿里云镜像,导致snapshot类型的依赖下载不下来

如果遇到maven依赖下载不下来,尤其是snapshot类型的话,请检查是否使用了上述的maven settings.xml,如果不是,建议优先使用上述文件。

如果需要使用自己的settings.xml,另外,如果部分同学的settings.xml中,包含了如下配置:

<mirror> 
    <id>aliyun-maven</id> 
    <mirrorOf>*</mirrorOf> 
    <name>aliyun maven</name> 
    <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
</mirror>

上面的mirrorOf是对全部仓库进行镜像,但是我们下载snapshot类型的artifact是要到下面的spring自身的仓库下载的, 所以这里可以修改为如下配置,排除掉 spring-snapshots仓库

<mirror> 
    <id>aliyun-maven</id> 
    <mirrorOf>*,!spring-snapshots</miiroOf>  
    <name>aliyun maven</name> 
    <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
</mirror>

关于maven的mirror和repository配置,可以查阅: https://www.cnblogs.com/a-du/p/9645971.html

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

码云特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. 码云官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解码云上的优秀开源项目
  4. GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
  5. 码云官方提供的使用手册 https://gitee.com/help
  6. 码云封面人物是一档用来展示码云会员风采的栏目 https://gitee.com/gitee-stars/

Empty file

About

spring boot项目中克隆后,回退到了第一个版本,本工程即为那时的代码,提交时间是2013年4月。 依赖的spring 版本是spring 4.0.0.BOOTSTRAP-SNAPSHOT 本工程对代码进行了注释,方便阅读 expand collapse
Cancel

Releases

No release

Contributors

All

Activities

can not load any more
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/dumpcao/spring-boot-first-version-learn.git
git@gitee.com:dumpcao/spring-boot-first-version-learn.git
dumpcao
spring-boot-first-version-learn
spring-boot-first-version-learn
master

Search