前言
蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!
路其实一直都在那里,只是我们看不到而已!
以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。想想有多少人对于自己将来要从事的职业和技术类型进行过深入思考和比较呢?当我跳出编码后,我开始思考和程序及程序员职业生涯相关的问题,最后发现,影响我们走入今天的困局的竟然是一些我们常常挂在嘴边的话。
本文将带大家全面剖析Spring Framework核心特征及新增功能,助大家轻松掌握Java企业级应用程序开发;深入介绍 Spring Boot高级功能,助大家将微服务快速部署到云端!
本文将带领大家能够在简历上写上精通Spring:JavaWeb开发与SpringBoot高级功能,相信大家也能够端正自己的态度,不断地提升自己的技术深度和广度,让自己变得更加地有价值!!
也希望本文能够帮助到大家的学习!加油!努力成就更好的自己!
目录
主要内容
第1章向Spring Framework 5.0进化;在过去的16年中,Spring Framework已显著改善了用户开发Java企业级应用程序的体验。Spring Framework 5.0推出了大量新功能,同时显著提高了基准。
后面几章将介绍依赖注入以及如何使用Spring MVC开发Web应用程序,之后将详细介绍微服务。第5章、第6章和第7章将说明如何通过Spring Boot更轻松地创建微服务。最后几章将介绍如何使用Spring Cloud和 Spring Cloud Data Flow在云端构建应用程序。
- 1.1 Spring Framework
- 1.2 Spring Framework为什么流行1.3 Spring模块
- 1.4 Spring项目
- 1.5 Spring Framework 5.0中的新增功能1.6 Spring Boot 2.0的新增功能
- 1.7小结
**第2章依赖注入;依赖注人(或loC)是Spring的关键功能。**它实现了代码的松散耦合和可测试性。了解依赖注入是充分利用Spring Framework的关键。
本章详细介绍了依赖注入以及Spring Framework提供的相关选项,还分析了一些编写可测试代码的示例,并编写了几个单元测试。
下一章将介绍最受欢迎的Java Web MVC框架之一——Spring MVC。我们将了解Spring MVC如何帮助简化Web应用程序开发。
- 2.1了解依赖注入
- 2.2小结
第3章使用Spring MVC构建Web应用程序;本章介绍了使用Spring MVC开发Web应用程序的基础知识,讨论了如何使用Spring Security实现异常处理、国际化以及确保应用程序的安全。
Spring MVC还可用于构建REST服务。后续章节会讨论该话题以及更多与REST服务相关的内容。
下一章将介绍微服务。我们将尝试了解为什么整个世界都在密切关注微服务,还将说明应用程序做到“云原生”的重要性。
- 3.1 Java Web应用程序架构
- 3.2基本流
- 3.3 Spring MVC概述
- 3.4 Spring MVC背后的重要概念
- 3.5 Spring MVC——高级功能
- 3.6 Spring Security
- 3.7小结
**第4章向微服务和云原生应用程序进化;**本章介绍了整个世界如何向微服务和云原生应用程序进化。我们了解了Spring Framework和Spring项目如何进行进化,以通过Spring Boot、Spring Cloud和Spring Data等项目来满足当前的需求。
下一章将重点介绍Spring Boot。我们将看看Spring Boot如何帮助简化微服务开发。
- 4.1使用Spring的典型Web应用程序架构
- 4.2 Spring解决的问题
- 4.3应用程序开发目标
- 4.4单体应用面临的挑战
- 4.5了解微服务
- 4.6云原生应用程序
- 4.7 Spring项目
- 4.8 小结
**第5章使用Spring Boot构建微服务;**Spring Boot使基于Spring 的应用程序的开发变得更容易,它使我们能够在项目开始之初就创建可以投入生产的应用程序。
本章介绍了Spring Boot和REST服务的基础知识。本章讨论了Spring Boot的不同特性,并创建了几个经过全面测试的REST服务。通过深入分析自动配置,我们了解了后台发生的事件。
下一章将介绍如何在REST服务中添加更多功能。
- 5.1什么是Spring Boot
- 5.2 Spring Boot Hello World
- 5.3什么是REST
- 5.4首个REST服务
- 5.5创建待办事项资源
- 5.6 Spring Initializr
- 5.7自动配置概述
- 5.8小结
**第6章扩展微服务;**使用Spring Boot可以轻松开发基于Spring的应用程序,有助于我们快速创建生产级应用程序。
这一章讲述了如何在应用程序中添加异常处理、缓存和国际化功能,讨论了使用Swagger编写REST服务文档的最佳实践,并介绍了使用Spring Security确保微服务安全的基础知识。
下一章将介绍Spring Boot 的高级功能。我们将了解如何监视REST服务,学习如何将微服务部署到云端,以及如何在使用Spring Boot开发应用程序时提高生产效率。
- 6.1异常处理
- 6.2 HATEOAS
- 6.3验证
- 6.4编写REST服务文档
- 6.5使用Spring Security确保REST服务的安全
- 6.6国际化
- 6.7缓存
- 6.8小结
**第7章Spring Boot的高级功能;**使用Spring Boot可以轻松开发基于Spring的应用程序,它可以帮助我们快速创建生产级应用程序。
这一章介绍了Spring Boot提供的各种外部配置选项;讲解了嵌入式服务器,并在PaaS云平台Cloud Foundry上部署了测试应用程序;探讨了如何使用Spring Boot Actuator监视生产环境中的应用程序;最后介绍了可以帮助开发人员提高生产效率的特性——Spring Boot开发者工具和实时重载。
下一章将关注数据,会介绍Spring Data,看看它如何简化JPA集成和提供REST服务。
- 7.1配置外部化
- 7.2嵌入式服务器
- 7.3开发者工具
- 7.4 Spring Boot Actuator
- 7.5部署应用程序到云端
- 7.6小结
**第8章Spring Data;**使用Spring Boot可以轻松开发基于Spring的应用程序,Spring Data有助于轻松连接到不同数据存储。
本章介绍了如何使用Spring Data,通过存储库等简单概念轻松连接到不同数据存储。我们还了解了如何将Spring Data与Spring Data JPA相结合,以连接到内存中关系数据库,以及如何使用Spring Data MongoDB连接到大数据存储(如MongoDB)并保存数据。
下一章将关注云端,介绍什么是Spring Cloud 以及它如何帮助解决云服务面临的问题。
- 8.1背景信息-数据存储
- 8.2 Spring Data
- 8.3 Spring Data Rest
- 8.4大数据
- 8.5小结
**第9章Spring Cloud;**使用Spring Cloud可以轻松地为微服务添加云原生特性。本章介绍了与开发云原生应用程序以及使用各种Spring Cloud项目实现这些应用程序有关的一些重要模式。
请记住,云原生应用程序开发这个领域仍处于起步阶段,它需要更多时间才能走向成熟。希望在今后几年中,各种模式和框架会不断进化。
下一章将关注Spring Data Flow。它在云端的典型用例包括实时数据分析和数据管道,这些用例涉及多个微服务之间的数据流。Spring Data Flow为分布式流和数据管道提供了模式和最佳实践。
- 9.1 Spring Cloud简介
- 9.2演示微服务设置
- 9.3集中式微服务配置
- 9.4 Spring Cloud Bus
- 9.5声明式REST客户端——Feign
- 9.6负载均衡
- 9.7名称服务器
- 9.8名称服务器的工作机制
- 9.9 API网关
- 9.10分布式跟踪
- 9.11 Hystrix——容错
- 9.12小结
**第10章Spring Cloud Data Flow;**Spring Cloud Data Flow为数据流和事件流提供了云原生功能。通过它,可以在云端轻松创建和部署流。本章介绍了如何使用Spring Cloud Stream设置事件驱动流中的各个应用程序,简要说明了如何使用Spring Cloud Task创建任务,同时介绍了如何使用Spring Cloud Data Flow来设置流以及执行简单的任务。
下一章将介绍一种构建Web 应用程序的新方法——反应式编程。我们将了解为什么非阻塞应用程序成为了热门话题,以及如何使用Spring Reactive构建反应式应用程序。
- 10.1基于消息的异步通信
- 10.2用于异步消息传递的Spring项目
- 10.3 Spring Cloud Stream
- 10.4 Spring Cloud Data Flow
- 10.5 Spring Cloud Task
- 10.6小结
**第11章反应式编程;**这一章简要介绍了反应式编程。我们学习了Java反应式编程领域的重要框架——反应式流、Reactor和 Spring WebFlux,并使用事件流实现了一个简单的网页。
反应式编程并非万能的。虽然它可能不是所有用例下的正确解决方案,但它是我们应该评估的可能选项。反应式编程的语言、框架支持及应用仍处于发展的早期阶段。
下一章将介绍使用Spring Framework开发应用程序时的最佳实践。
- 11.1反应式宣言
- 11.2反应式用例—股价页面
- 11.3 Java反应式编程
- 11.4小结
**第12章Spring最佳实践;**本章介绍了一些开发基于Spring的应用程序的最佳实践。我们学习了构建项目的最佳实践——分层、采用Maven标准目录布局,以及使用api和实现模块;讨论了如何最大限度地简化Spring配置,以及与日志记录、缓存、会话管理和异常处理有关的最佳实践。
- 12.1 Maven标准目录布局
- 12.2分层架构
- 12.3异常处理
- 12.4确保简化Spring配置
- 12.5管理Spring项目的依赖项版本
- 12.6单元测试
- 12.7集成测试
- 12.8缓存
- 12.9日志记录
- 12.10小结
**第13章在Spring中使用Kotlin;**Kotlin可以帮助开发人员编写出简洁、可读的代码。这与Spring Boot的设计理念相一致——使应用程序开发更加轻松、更加快捷。
本章首先介绍了Kotlin 以及它与Java相比的优势,并使用Spring Boot和 Kotlin构建了几个简单的REST服务,还举例说明了用Kotlin编写的服务和单元测试代码多么简洁。
过去几年里, Kotlin取得了巨大进步——成为Android正式支持的语言就是一个良好的开端,Spring Framework 5.0对Kotlin 的支持更是锦上添花。Kotlin的未来取决于它在更广泛的Java开发社群中的成功程度。它很可能会成为你手中的一个重要工具。
- 13.1 Kotlin
- 13.2 Kotlin与Java
- 13.3在Eclipse中创建Kotlin项目
- 13.4使用Kotlin创建Spring Boot项目
- 13.5使用Kotlin实现REST服务
- 13.6小结