【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 !
评论
  目录