花4个月时间整理出《Spring揭秘》的文字版的感受

对于一个Java Web程序员来说,Spring可以说与我们的日常工作息息相关,但只会使用Spring来进行项目中的增删改查是成为不了一个高手的,我们还需要去弄懂Spring底层机制并能够根据需要进行扩展以及排查bug,所以我们要去看Spring的源码和设计原理。

《Spring揭秘》,这是一本09年出版的绝版老书了,在豆瓣上大家给出了9+的高分。这本书想要再购买的话大概要花200块钱以上,而网上流出的pdf只有前6章是清晰文字版,后面就是影印版了。 如图:
在这里插入图片描述
在这里插入图片描述

所以我花了接近4个月的时间,期间断断续续地把这本书一边看一边用ocr腾出来文字版本,放在了专栏中:Spring揭秘学习笔记

这本书中提到的技术距离现在已经有十几年了,以现在的视角来看,一些介绍的技术都较为老旧,但好在本书是用来讲原理的,并且在原理或是应用方面介绍得都非常详细全面(看起来有种国外书那么啰嗦,甚至我觉得有些片段是翻译来的),能让我们“知其然,更知其所以然”。

就拿最后一章中的Spring远程方案来说,其中详细介绍了基于RMI、基于HTTP、基于Web服务、基于JMS的远程方案的原理和使用。

从Java校招面试的角度来说,本书的几个章节也非常有用,它详细地介绍IOC、AOP、事务的原理,能帮助我们理解并解答出:“Spring的IoC和AOP概念”、“Bean的生命周期”,“@Transactional失效原因”、“介绍Spring MVC和它的执行流程”、“Spring 事务中哪几种事务传播行为?”等初级八股文问题。

这本书从阅读角度来说,建议不要纠结某个过时的技术,对于其他书籍也是,一些不懂或者不需要你懂的部分可以先跳过,等后面接触的项目多了,遇到了实际问题就自然而然明白了。要知道,不管是技术还是管理方面的知识都是为了实际开发的,精通的目的在于应用,不要本末倒置。

就拿30章的使用Spring发送E-mail来说,如果你的项目中使用到了SpringBoot,想要使用QQ邮箱或者163邮箱,只需要引入spring-boot-starter-mail这个starter,然后只要配置账号密码,再使用下面几行代码就可以发送邮件了(详细见:springboot配置qq邮箱来发送邮件)。

@Autowired
private JavaMailSender mailSender;
@Autowired
private MailProperties mailProperties;

@Override
protected void send(String receiver, String title, String content) {
    
    
    SimpleMailMessage message = new SimpleMailMessage();
    message.setFrom(mailProperties.getUsername());
    message.setTo(receiver);
    message.setSubject(title);
    message.setText(content);
    mailSender.send(message);
}

但这章作者写了2万字,先介绍了JavaMail的API的使用,接着介绍MailMessage抽象层次和MailSender抽象层次,接着使用JavaMailSender来编写代码实现发送邮件,最后使用Velocity创建模板借助VelocityEngineFactoryBean来使用模板发送邮件,这还没完,作者还要做点儿附加工作(让VelocityEngine可以加载位于特定数据存储服务中的邮件模板~)

总的来说,建议大家各取所需,一些觉得以后用不到的知识点可以快速过一遍,把重点放在你需要的地方。

最后就是感谢本书的作者王福强老师,豆瓣地址:Spring揭秘 (豆瓣)

猜你喜欢

转载自blog.csdn.net/qq_34626094/article/details/125957391
今日推荐