`
jiwenke
  • 浏览: 396972 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
4ee69929-b8e1-3eb5-bbca-157d075d6192
Spring技术内幕——深...
浏览量:181777
D1c226f7-74e9-3ec4-a15b-18a45ccd88c5
随笔:Spring与云计算...
浏览量:25494
社区版块
存档分类
最新评论

《Spring技术内幕》的读者问题交流

阅读更多
《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的初始化函数中,看到对它的设置
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有兴趣的话,不妨了解一下。
20
3
分享到:
评论
15 楼 x981114171 2016-10-05  
不知大家有没发现,国产书,国人写的书就没几本是给力的,以后国人的书可以直接 排除掉
14 楼 x981114171 2016-10-05  
买了这本书,感觉很不值。来吐槽下,也许你自己是专家,不过写的书真心不咋的,首先一堆文字堆在一起不适合阅读,感觉都是粘贴 一段代码过来 专业的 bb下,
13 楼 851228082 2016-07-07  
作者,写的书很好,
我觉得幸亏有源码,所以我才能看懂。一边看,一遍实践。所以,我很推荐作者继续这样的思路。
12 楼 faith789510 2016-01-13  
MVC书中没有介绍数据绑定
11 楼 javer 2012-12-19  
最近借了一本书,结果照着做,发现很多都不一样了,晕
10 楼 youyou2040 2012-11-01  
书中的代码太多,作者完全可以告诉读者这段代码在那个目录的哪个文件中而不是把它列出来
9 楼 superysy 2012-03-15  
waysly 写道
年初因找工作,拜读了该书,作者的深厚的技术以及踏实的精神,实在令人佩服,小弟也有点建议,言语可能有些直接,请见谅:
1、书中很多语句描述显得不够简练专业,体现了作者的写作功底不够深厚(可能第一次写作情有可原)。比如书中很多地方有“这个xx类”,“这个”二字占据了很多篇幅,感觉有点像口语,不够简练(这也说明你的出版编辑不够专业)。
2、如大多数网友所说,高层的东西太少,书的定位为senior的程序员,那么最好是从高层架构来总结下,比如增加uml图,来描述各核心类的关系,以及代码如何体现oo原则设计,再辅以代码剖析(这是书的根本特点必不可少)。--看完后,我自己就通过逆向工程来还原类图以求更深理解。
3、如你自己所说,应用简介--架构设计--代码剖析,这样的逻辑跟spring官方reference有点像,期望你能更加翔实,写出区别。

请问怎么通过逆向工程来还原类图?
8 楼 superysy 2012-03-06  
书贴的代码太多了,太细节了,大的架构还是不清楚,可能我没有认真读
7 楼 幻影桃花源 2011-12-23  
老大,能否出一本關于spring mvc的書呀
6 楼 jiwenke 2011-10-13  
第二版中会修改的。
5 楼 libran 2011-10-12  
能否弄一个翔实的勘误呢?
4 楼 waysly 2011-07-27  
年初因找工作,拜读了该书,作者的深厚的技术以及踏实的精神,实在令人佩服,小弟也有点建议,言语可能有些直接,请见谅:
1、书中很多语句描述显得不够简练专业,体现了作者的写作功底不够深厚(可能第一次写作情有可原)。比如书中很多地方有“这个xx类”,“这个”二字占据了很多篇幅,感觉有点像口语,不够简练(这也说明你的出版编辑不够专业)。
2、如大多数网友所说,高层的东西太少,书的定位为senior的程序员,那么最好是从高层架构来总结下,比如增加uml图,来描述各核心类的关系,以及代码如何体现oo原则设计,再辅以代码剖析(这是书的根本特点必不可少)。--看完后,我自己就通过逆向工程来还原类图以求更深理解。
3、如你自己所说,应用简介--架构设计--代码剖析,这样的逻辑跟spring官方reference有点像,期望你能更加翔实,写出区别。
3 楼 aspnetdb 2011-05-19  
决心好好提高自己一下。网上选了很久,选定你的这本书。一定认真读下去,改变从晚上开始!!
2 楼 amigobot 2011-03-28  
正在看这本书,还没有深入。初步感觉源码很多,但是缺乏一些提纲挈领的解释,容易在源码中迷失掉。设计+加源码我读过的不错的是OPERATING SYSTEMS DESIGN AND IMPLEMENTATION
by Andrew S. Tanenbaum. 当然,这个是过高的要求,呵呵。建议供参考,希望有下一版。
1 楼 xvm03 2010-06-25  
一定要好好看这本书,如此认真负责

相关推荐

    仿Haier 海尔家电家居触屏版html5响应式手机wap企业网站模板.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

    手机wap网站 仿腾讯新闻.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

    机械设计多层储物架sw18可编辑非常好的设计图纸100%好用.zip

    机械设计多层储物架sw18可编辑非常好的设计图纸100%好用.zip

    基于普中51开发板的超声波测距+蜂鸣器报警 (附开发板原理图)

    基于普中51开发板的超声波测距+蜂鸣器报警 (附开发板原理图) 基于普中51开发板的超声波测距+蜂鸣器报警 (附开发板原理图)

    【重磅、详细、2022更新!】1990-2022上市公司环境保护税(排污费)数据大合集!

    【原创整理,严禁任何团队和个人转载获利,转载必究!】 环境保护 税的实施效应是近年来研究的热点方向之一,将上市公司环境保护税与企业创新、企业治理 等领域问题的实证研究更是如日中天。附件内为1990-2022上市公司环境保护税( 排污费)数据大合集,包括上市公司应缴环境保护税、实缴环境保护税及分项数据,样本期 长达33年!累计涵盖近15w+观测值数量,3500+样本企业,数据涵盖年度与月度 变量,可根据需要自行筛选选用!本数据集包括参考来自权威文献做法构建的衡量上市公司 环境保护税的详细数据,包括测算出的最终指标以及所有原始数据! 附 件内所有文件均包括xls、dta格式面板数据,无偿赠送您权威参考文献原文、参考代 码、原始数据(指标构建所需的各个变量都可直接查到,充分保证数据真实性、准确性!! )以及2022最新版本上市公司年度信息,充分节约您宝贵的时间,提升科研效率!本数 据集可直接用Stata、Eviews等软件进行计量检验!本数据集适用于所有涉及上 市公司环境保护税效应方向的实证研究与理论分析,更是非常适合在此基础上进行拓展研究 ,能够帮助大家高

    自动编码器autoencoder-python源码.zip

    自动编码器autoencoder-python源码.zip

    node-v10.16.2-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    ONNXRuntime部署yolov5-lite目标检测包含C++和Python 源码+模型+说明.zip

    ONNXRuntime部署yolov5-lite目标检测包含C++和Python 源码+模型+说明.zip

    省级2008-2020信息传输、软件和信息技术服务业城镇单位就业人员+软件业务收入等

    省级2008-2020信息传输、软件和信息技术服务业城镇单位就业人员+软件业务收 入等 指标包括:信息传输、软件和信息技术服务业城镇单位就业人员(万人)、软件业务 收入(万元)、高技术产品出口额占商品出口额比重(%)

    基于matlab图像处理的碎纸片的拼接复原内含数据集和源码.docx

    本文档是课题研究的研究报告内含调研以及源码设计以及结果分析

    Unity3D版本游戏源码2-97草莓大作战游戏开发模板BerryMatch-Three4.2

    Unity3D版本游戏源码2-97草莓大作战游戏开发模板Berry Match-Three 4.2提取方式是百度网盘分享地址

    南京政府微门户触屏版手机wap政府网站模板下载.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

    node-v12.1.0-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    某城市表层土壤重金属污染分析方案设计以及结果分析.doc

    本文档是课题研究的研究报告内含调研以及源码设计以及结果分析

    unity开发的相关知识什么是unity开发以及学习的意义

    unity开发

    HTML5+CSS+JS精品网页模板100 大学生期末大作业 Web前端网页制作

    HTML5+CSS+JS精品网页模板,设置导航条、轮翻效果,鼠标滑动效果,自动弹窗,点击事件、链接等功能;适用于大学生期末大作业或公司网页制作。响应式网页,可以根据不同的设备屏幕大小自动调整页面布局; 支持如Dreamweaver、HBuilder、Text 、Vscode 等任意html编辑软件进行编辑修改; 支持包括IE、Firefox、Chrome、Safari主流浏览器浏览; 下载文件解压缩,用Dreamweaver、HBuilder、Text 、Vscode 等任意html编辑软件打开,只需更改源代码中的文字和图片可直接使用。图片的命名和格式需要与原图片的名字和格式一致,其他的无需更改。如碰到HTML5+CSS+JS等专业技术问题,以及需要对应行业的模板等相关源码、模板、资料、教程等,随时联系博主咨询。 网页设计和制作、大学生网页课程设计、期末大作业、毕业设计、网页模板,网页成品源代码等,5000+套Web案例源码,主题涵盖各行各业,关注作者联系获取更多源码; 更多优质网页博文、网页模板移步查阅我的CSDN主页:angella.blog.csdn.net。

    pytorch_mnist-python源码.zip

    pytorch_mnist-python源码.zip

    仿中企动力手机wap企业网站模板.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

    手机js特效jquery触屏自适应实现随机图片瀑布流无限加载.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

    集团公司主数据(mdm)治理总体解决方案MDM.pptx

    集团公司主数据(mdm)治理总体解决方案MDM.pptx

Global site tag (gtag.js) - Google Analytics