一、如何阅读Spring源码(全网最简单的方法)

学习Java最好最有效的方法是学习Spring,但是最笨最没效的方法也是学习Spring。 为什么这么说呢?道理其实很简单 A、Spring很庞大,很完善,也非常的底层,如果我们学会的Spring,那么也就掌握了很多的技术的核心,也了解了很多的开发思想,所以说他是最好也是最有效的; B、但就是因为Spring很庞大,很完善,所以学习起来本身就是一件很枯燥,很难坚持下去的一件事情,放弃的人也占了大多数。当然,其中也有很多的坑,比如:我们会一味的学习其中的请求调用流程,陷入本末倒置,了解的其中的方法调用,却忽略了其中重要的设计思想等。所以这也是最难最漫长的,一旦放弃,也就是最无效的。

学习Spring大概有两种思路吧,也可以说是方向。 1、由易到难:网上很多教程,就是先编写最简单的方法,然后一层层的由内而外的封装,直至成了一个完整的spring(暂且这么说吧) 2、由难到易:编写最简单的方法,从Spring外围一步步的深入了解一个完整的Spring的运行逻辑和流程。

我们这里采用第二种方法。

话不多说,讲尝试了多次的方法。

首先,可以不用去尝试网上常说的下载源码去看,代码量大、繁琐、更容易烦躁。 其次,不要奢求追逐最新,我们可以研究最简单最基础的版本,3.x版本。

第一步、创建一个maven项目,引入Spring的3.0版本

创建过程就省略啦。 项目格式(我们开始需要学习的主要是就是划线的几部分)

第二步、pom文件中引入Spring

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>
</dependencies>

第三步、编写最简单的方法

LoginService.java

public class LoginService {
          
   
    public String login(String name){
          
   
        System.out.println("hello " +  name );
        return "success";
    }
}

Test.java

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @author sunminghao
 */
public class Test {
          
   
    public static void main(String[] args) {
          
   
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        LoginService service = (LoginService)context.getBean("loginService");
        String result = service.login("admin");
        System.out.println("loginService result : " + result);
    }
}

applicationContext.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="loginService" class="com.demo.LoginService"/>

</beans>

万事具备,我们就可以通过简单的demo,了解Spring的原理啦 比如,我们debug进去,首先就可以了解到的Spring是怎么读取applicationContext.xml文件的,怎么创建和初始化bean的。 这种方式比我们下载源码枯燥的去看 相对来说要好的多,毕竟我们可以看到他们的执行方式,不至于说一头雾水。 但是也要注意 别被一层层的跳转搞懵了,我们要有所重点。

大家的建议,就是我们猿人进步的动力。

经验分享 程序员 微信小程序 职场和发展