spring 源码阅读入门

spring和源码3.0.5下载

http://download.csdn.net/download/haluoyimo/7752753

http://pan.baidu.com/s/1qYnK784

参考文章

http://www.cnblogs.com/xing901022/p/4178963.html

首先新建一个Java项目;

《spring 源码阅读入门》

解压后的spring包是如下的结构;

《spring 源码阅读入门》

dist内是发布的包;

《spring 源码阅读入门》

src内是对应的源码包;

《spring 源码阅读入门》

项目属性导入全部的dist下的包,还有mysql-connector,commons-logging等;完成后如下图;

或者光导入项目用到的包也可;

《spring 源码阅读入门》

点开一个导入的spring dist包,点击Source attachment,点击 Edit 按钮;

《spring 源码阅读入门》

添加源码包的路径,即src下的包的路径;如下图;

发布包和源码包一个个对应的;

《spring 源码阅读入门》

添加好之后如下;

《spring 源码阅读入门》

《spring 源码阅读入门》

完成上述后项目结构如下;

《spring 源码阅读入门》

新建如下的包,类,文件;

《spring 源码阅读入门》

代码;

Person.java

package com.test.bean;
 
public class Person {
    
    private String name;
    private int 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;
     }
     public void info(){
         System.out.println("name:"+getName()+" age:"+getAge());
     }
 }

test.java

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

import com.test.bean.Person;

public class test {
    public static void main(String[] args){
        ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");//读取bean.xml中的内容
        Person p = ctx.getBean("person",Person.class);//创建bean的引用对象
        p.info();
    }
}

bean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    <bean id="person" class="com.test.bean.Person">
        <property name="name" value="xingoo"/>
        <property name="age" value="12"/>
    </bean>
</beans>

项目运行结果如下;

《spring 源码阅读入门》

ApplicationContext ctx = new ClassPathXmlApplicationContext(“bean.xml”);//读取bean.xml中的内容
Person p = ctx.getBean(“person”,Person.class);//创建bean的引用对象

这两句下断点;然后开始debug;

停留在断点;

《spring 源码阅读入门》

打F5,进入下一个函数;进到spring源码了;因为前面附着了spring源码包,对应的spring源码函数显示出来;

《spring 源码阅读入门》

F5,下一个函数;

《spring 源码阅读入门》

F5,下一个函数;

《spring 源码阅读入门》

F5,下一个函数;

《spring 源码阅读入门》

F5,下一个函数;

《spring 源码阅读入门》

F5,下一个函数;

看到一列的函数调用,这个就是传说中的栈帧了;

《spring 源码阅读入门》

如果进到没有附着源码的函数,则会提示Source not found,如上图;

    原文作者:Spring Boot
    原文地址: https://blog.csdn.net/bcbobo21cn/article/details/52496261
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞