《Spring技术内幕》的读者问题交流 SpringSVNEclipsemaven互联网
程序员文章站
2022-04-26 11:46:13
...
《Spring技术内幕》一书出版上市有一段时间了,承蒙各位读者的厚爱,通过各种方式给我提了不少的问题,作为作者,我非常感谢大家的支持。这里,我把这些问题汇总一下,供大家参考,同时如果有机会出第二版的时候,我会把这些问题在书中做修订的。
从网上的评论上看,对整体内容大家比较有看法的是,觉得书中缺少架构上的高层次的分析,基本是源代码的解析。我同意大家的看法,只是有一点需要澄清一下,原来书的定位并不是想从Spring的应用角度出发的,而是想从实现角度出发,依托代码实现来完成这种分析,因为源代码实现的分析是最为直接和过瘾的。对大家提出的缺少架构分析的意见,如果有机会,我会为书的再版补充进去,体现一个应用问题-》架构设计-》源代码实现的逻辑链条,让线索更加清晰,提高阅读的可读性,让Spring的初学者也能顺着这个线索深入的了解Spring。
我这里还收集了不少读者的技术问题,一一总结如下 - 在这里,再次衷心的感谢读者的贡献!
Q:在哪里能找到Petclinic的源代码?
A:在Spring3.0的正式版中,是没有petclinic的源代码发布的,不知道是什么原因,没有把它发到正式发布包中。大家如果找不到,可以到Spring3.0 SVN的代码库中,正式版(Release)前面的版本中去找,比如RC版和M3版中。
Q:SVN 上下下来的SPRING源码一堆红叉,因为引用的包都在别的工程里,如何解决这个问题.
A: spring的源码是用maven来管理的,你装个maven的就不会有上述的问题了。在进行源代码分析的时候,我是把项目一个一个导入到Eclipse中去的。
Q:你的书只是说吧spring,从svn上donw下来,但是搭建环境,好像还是比较麻烦,很多类找不到,你能不能在你的博客上演示下 ,我的build path 一直有问题。
A:我这里的环境是这样的,安装ant以后,进入到从SVN下载下来的Spring源代码目录中,build的时候要连上互连网,进入到build-spring-framework目录下,运行ant jar这时候就可以在DOS窗口下看到整个build的过程,已经从互联网上下载相关的依赖库的过程,需要耐心一些,时间会有一些长。
Q:按照书中的介绍,将代码导入Eclipse,导入成功后,我想查看某个方法或者类的调用视图,点“Open Call Hierarchy”,但是Eclipse会提示:The resource is not on the build path of a Java project ,打开不了。但是从您书中的截图来看,您是可以打开的。不知道是啥原因,您能指导一下我吗?
A:我是把一个一个模块分别导入的,不需要理会那些红叉,同时可以按照上面提到的build过程来对Spring进行构建,可以看到整个依赖库的下载过程。
Q:书的30-31页时,有一点疑问:在AbstractRefreshableApplicationContext这个类中,没有int loadBeanDefinitions(String location,Set actualResources) Resource getResource(String location) 这两个方法,但是30-31怎么把这两个方法罗列出来了?
A:对不起,是描述和排版的问题。这两段代码是在AbstractBeanDefinitionReader中实现的,不在 AbstractRefreshableApplicationContext这个类中。如果出下一版的话,我会更正的。
Q:书的第30页,public int loadBeanDefinitions(String location, Set<Resource> actualResources) ResourceLoader resourceLoader = getResourceLoader();我看写的注释是:这里取得ResourceLoader ,使用的是DefaultResourceLoader.我看了一下 getResourceLoader(),它返回的是接口类型ResourceLoader ,DefaultResourceLoader 是怎么注入进来的?
A:在相关类的类变量中定义的,具体代码可以在PathMatchingResourcePatternResolver的初始化函数中,看到对它的设置
Q:如果我是一位Spring的初学者和入门者,这本书的内容有些深,有没有合适的Spring应用开发入门的相应资料?
A:有的,也和这本书相关。在本书完成以后,我为Spring应用开发的学习录制了一段视频,分析了petclinic这个著名的Spring应用案例的使用和实现,通过这个材料,让你对Spring应用快速上手,然后再结合《Spring技术内幕》来学习和阅读,对Spring的理解就可以进入到一个比较深入的层次。这个视频的资料在:http://www.hztraining.com/bbs/showtopic-5.aspx或者在互动网上:http://www.china-pub.com/3500052有兴趣的话,不妨了解一下。
从网上的评论上看,对整体内容大家比较有看法的是,觉得书中缺少架构上的高层次的分析,基本是源代码的解析。我同意大家的看法,只是有一点需要澄清一下,原来书的定位并不是想从Spring的应用角度出发的,而是想从实现角度出发,依托代码实现来完成这种分析,因为源代码实现的分析是最为直接和过瘾的。对大家提出的缺少架构分析的意见,如果有机会,我会为书的再版补充进去,体现一个应用问题-》架构设计-》源代码实现的逻辑链条,让线索更加清晰,提高阅读的可读性,让Spring的初学者也能顺着这个线索深入的了解Spring。
我这里还收集了不少读者的技术问题,一一总结如下 - 在这里,再次衷心的感谢读者的贡献!
Q:在哪里能找到Petclinic的源代码?
A:在Spring3.0的正式版中,是没有petclinic的源代码发布的,不知道是什么原因,没有把它发到正式发布包中。大家如果找不到,可以到Spring3.0 SVN的代码库中,正式版(Release)前面的版本中去找,比如RC版和M3版中。
Q:SVN 上下下来的SPRING源码一堆红叉,因为引用的包都在别的工程里,如何解决这个问题.
A: spring的源码是用maven来管理的,你装个maven的就不会有上述的问题了。在进行源代码分析的时候,我是把项目一个一个导入到Eclipse中去的。
Q:你的书只是说吧spring,从svn上donw下来,但是搭建环境,好像还是比较麻烦,很多类找不到,你能不能在你的博客上演示下 ,我的build path 一直有问题。
A:我这里的环境是这样的,安装ant以后,进入到从SVN下载下来的Spring源代码目录中,build的时候要连上互连网,进入到build-spring-framework目录下,运行ant jar这时候就可以在DOS窗口下看到整个build的过程,已经从互联网上下载相关的依赖库的过程,需要耐心一些,时间会有一些长。
Q:按照书中的介绍,将代码导入Eclipse,导入成功后,我想查看某个方法或者类的调用视图,点“Open Call Hierarchy”,但是Eclipse会提示:The resource is not on the build path of a Java project ,打开不了。但是从您书中的截图来看,您是可以打开的。不知道是啥原因,您能指导一下我吗?
A:我是把一个一个模块分别导入的,不需要理会那些红叉,同时可以按照上面提到的build过程来对Spring进行构建,可以看到整个依赖库的下载过程。
Q:书的30-31页时,有一点疑问:在AbstractRefreshableApplicationContext这个类中,没有int loadBeanDefinitions(String location,Set actualResources) Resource getResource(String location) 这两个方法,但是30-31怎么把这两个方法罗列出来了?
A:对不起,是描述和排版的问题。这两段代码是在AbstractBeanDefinitionReader中实现的,不在 AbstractRefreshableApplicationContext这个类中。如果出下一版的话,我会更正的。
Q:书的第30页,public int loadBeanDefinitions(String location, Set<Resource> actualResources) ResourceLoader resourceLoader = getResourceLoader();我看写的注释是:这里取得ResourceLoader ,使用的是DefaultResourceLoader.我看了一下 getResourceLoader(),它返回的是接口类型ResourceLoader ,DefaultResourceLoader 是怎么注入进来的?
A:在相关类的类变量中定义的,具体代码可以在PathMatchingResourcePatternResolver的初始化函数中,看到对它的设置
public PathMatchingResourcePatternResolver() { this.resourceLoader = new DefaultResourceLoader(); }
Q:如果我是一位Spring的初学者和入门者,这本书的内容有些深,有没有合适的Spring应用开发入门的相应资料?
A:有的,也和这本书相关。在本书完成以后,我为Spring应用开发的学习录制了一段视频,分析了petclinic这个著名的Spring应用案例的使用和实现,通过这个材料,让你对Spring应用快速上手,然后再结合《Spring技术内幕》来学习和阅读,对Spring的理解就可以进入到一个比较深入的层次。这个视频的资料在:http://www.hztraining.com/bbs/showtopic-5.aspx或者在互动网上:http://www.china-pub.com/3500052有兴趣的话,不妨了解一下。