我有将平时工作所悟写成博客以记录的习惯,随着逐渐的积累,终于可以形成目前这样一本实战性的手册。我平时在阅读大量的Spring相关书籍的时候发现:很多书籍对知识的讲解一味求全求深,导致读者很难快速掌握某一项技术,且因为求全求深而忽略了最佳实践,让读者云里雾里,甚至半途而废。
所以本书的每个章节的基本架构都是:点睛+实战。
点睛:用最简练的语言去描述当前的技术;
实战:对当前技术进行实战意义的代码演示。
本书代码的另一个特点是:技术相关,业务不相关。在本书的实战例子中不会假设一个业务需求,然后让读者既要理解技术,又要理解假设的业务,本书的目标是让读者 “学习时只关注技术,开发时只关注业务”。
本书涉及的技术比较广,尤其是第三部分:实战Spring Boot,这让我很难在一本书中对每一项技术细节都详细说明;我希望本书能为读者在相关技术应用上抛砖引玉,读者在遇到特定技术的问题时可以去学习特定技术的相关书籍。
Spring在Java EE开发中是实际意义上的标准,但我们在开发Spring的时候可能会遇到以下让人头疼的问题:
(1)大量配置文件的定义;
(2)与第三方软件整合的技术问题。
Spring每个新版本的推出都以减少配置作为自己的主要目标,例如:
(1)推出@Component、@Service、@Repository、@Controller注解在类上声明Bean;
(2)推出@Configuration、@Bean的Java配置来替代xml配置。
在脚本语言和敏捷开发大行其道的时代,Java EE的开发显得尤为笨重,让人误解Java EE开发就该如此。Spring在提升Java EE开发效率的脚步上从未停止过,而Spring Boot的推出是具有颠覆和划时代意义的。Spring Boot具有以下特征:
(1)遵循“习惯优于配置”原则,使用Spring Boot只需很少的配置,大部分时候可以使用默认配置;
(2)项目快速搭建,可无配置整合第三方框架;
(3)可完全不使用xml配置,只使用自动配置和Java Config;
(4)内嵌Servlet(如Tomcat)容器,应用可用jar包运行(java –jar);
(5)运行中应用状态的监控。
虽然Spring Boot给我们带来了类似于脚本语言开发的效率,但Spring Boot里没有使用任何让你意外的技术,完全是一个单纯的基于Spring的应用。如Spring Boot的自动配置是通过Spring 4.x的@Conditional注解来实现的,所以在学习Spring Boot之前,我们需要快速学习Spring与Spring MVC的基础知识。
第一部分:点睛Spring 4.x
快速学习Spring 4.x的各个知识点,包括基础配置、常用配置以及高级配置,以便熟悉常用配置,并体会使用Java语法配置所带来的便捷。
第二部分:点睛Spring MVC 4.x
快速学习Spring MVC 4.1的各个知识点,MVC的开发是我们日常开发工作中最常打交道的,所以学习Spring MVC对Spring Boot的使用极有帮助。
第三部分:实战Spring Boot
这部分是整本书的核心部分,每个章节都会通过讲解和实战的例子来演示Spring Boot在实际项目中遇到的方方面面的情况,真正达到让Spring Boot成为Java EE开发的实际解决方案。
Spring Boot发布于2014年4月,根据知名博主Baeldung的调查,截至2014年年底,使用Spring Boot作为Spring开发方案的已有34.1%,这是多么惊人的速度。
希望读者在阅读完本书后,能够快速替代现有的开发方式,使用Spring Boot进行重构,和大量配置与整合开发说再见!
本书是我的第一本技术书籍,主要目的是让读者快速上手Spring Boot这项颠覆性的Java EE开发技术,由于作者水平有限,书中纰漏之处在所难免,敬请读者批评指正。