【Spring源码学习】简介


一、为什么要学习Spring源码

  • 学习大神优秀的思想和代码风格
  • 面试专业吹牛逼的法宝
  • 写出更加优秀的代码

二、怎样学习源码

  • java基础需要过硬
  • 跟着demo跟代码
  • 记录每个知识点,方便以后查阅和修正
  • 注释关键点代码
  • 有规律的复习
  • 反复Do Exercise(不断练习)->Learning(由浅到深,由窄到宽)->Trying(尝试自己去实现)->Teaching(把自己理解的讲给别人听,查漏补缺,互相进步)

三、搭建Spring-Demo项目

1.前期准备

  • JDK8
  • Spring5.2.8Release
  • Idea
  • Maven

2.pom依赖导入

最最核心的spring依赖

<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-context</artifactId>
   <version>${spring.version}</version>
</dependency>

当然还需要其他的辅助,比如测试、日志

<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-test</artifactId>
   <version>${spring.version}</version>
</dependency>

<dependency>
	<groupId>ch.qos.logback</groupId>
	<artifactId>logback-classic</artifactId>
	<version>1.1.2</version>
</dependency>

3.spring.xml

Spring核心配置文件

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:c="http://www.springframework.org/schema/c"
       xsi:schemaLocation="
	http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/aop
	http://www.springframework.org/schema/aop/spring-aop-3.2.xsd"
    default-lazy-init="false">

    <!--自定义标签-->
    <context:component-scan base-package="com.enjoy.jack" />
    <context:property-placeholder location="classpath:application.properties"/>

其中最重要namespace为

xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd

四、Spring容器加载方式

  • 类路径获取配置文件
    ApplicationContext applicationContext= new ClassPathXmlApplicationContext("spring.xml");
  • 文件系统路径获取配置文件【绝对路径】
    ApplicationContext applicationContext = new FileSystemXmlApplicationContext("E:\com\public\springdemo\src\main\resources\spring.xml");
  • 无配置文件加载容器
    ApplicationContext applicationContext = new AnnotationConfigApplicationContext("com.xx.jack");
  • Springboot加载容器
    ApplicationContext applicationContext = new EmbeddedWebApplicationContext();

后续Spring源码跟进,我主要以ClassPathXmlApplicationContext的方式。


文章作者: Kezade
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Kezade !
评论
  目录