eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)

  • 在上一篇eclipse导入spring源码一 中已经完成一部分了,但是整个项目代码依然有报错:
    eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)_第1张图片

  • 很明显的错误,就是找不到jar(spring-asm-repack-5.0.1.jar和spring-cglib-repack-3.1.jar)包,查看源文件的确没有这2个包。那么怎么得到这2个包呢?我找过maven仓库也没找到,最后终于知道了可以通过jar命令编译spring-core包得到这2个jar

编译生成spring-asm-repack-5.0.1.jar和spring-cglib-repack-3.1.jar

  • 到这个网站下载spring的lib压缩包http://repo.springsource.org/libs-release-local/org/springframework/spring/ 我下载的是和源码对应的spring-framework-3.2.18.RELEASE-dist.zip

  • 解压spring-framework-3.2.18.RELEASE-dist.zip 到spring-framework-3.2.18.RELEASE-dist\spring-framework-3.2.18.RELEASE\libs路径下找到spring-core-3.2.18.RELEASE.jar

  • 再把spring-core-3.2.18.RELEASE.jar用压缩工具解压出来:

eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)_第2张图片

  • 然后cmd到这个目录下执行命令:
jar cvf spring-cglib-repack-3.1.jar org\springframework\cglib

生成spring-cglib-repack-3.1.jar

eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)_第3张图片

  • 同样的执行命令:
jar cvf spring-asm-repack-5.0.4.jar org\springframework\asm

生成spring-asm-repack-5.0.4.jar
eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)_第4张图片

  • 好了现在这2个jar都有了,放到spring-core项目里面build\libs路径下,如果没有这个路径就新建一个。

    • 现在就不报错了
      eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)_第5张图片
  • 接下来改一下class的输出路径,换成直接bin为class输出路径,写一点代码测试一下spring-beans工程。

eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)_第6张图片

新建beans.xml


<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-4.0.xsd">

    <bean id="myTestBean" class="test.MyTestBean">
    <property name="name" value="zhangsan">property>
    bean>
beans>

MyTestBean.java



package test;


/**
 * 
 * @author Administrator
 */
public class MyTestBean {

    private String name;


    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }



}

测试类Test.java:



package test;

import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

/**
 * 
 * @author Administrator
 */
public class Test {

    public static void main(String[] args) {
        /**
         * 用XmlBeanFactory这个方式获得bean,现在已经不用这个方式了
         */
            XmlBeanFactory xmlBeanFactory = new XmlBeanFactory(new ClassPathResource("beans.xml"));
            MyTestBean myTestBean = (MyTestBean) xmlBeanFactory.getBean("myTestBean");
            System.out.println( myTestBean+ "---"+ myTestBean.getName());
    }

}

运行结果和目录结构:
eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)_第7张图片

到此spring的基础beans模块已经可以成功运行了。

你可能感兴趣的:(java,spring,Spring入门及源码分析)