Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置烦琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速上手Spring,利用Spring框架快速搭建JavaEE项目,Spring Boot应运而生。
Spring Boot带来了全新的自动化配置解决方案,使用Spring Boot可以快速创建基于Spring生产级的独立应用程序。Spring Boot中对一些常用的第三方库提供了默认的自动化配置方案,使得开发者只需要很少的Spring配置就能运行一个完整的Java EE应用。Spring Boot项目可以采用传统的方案打成war包,然后部署到Tomcat中运行。也可以直接打成可执行jar包,这样通过java-jar命令就可以启动一个Spring Boot项目。总体来说,Spring Boot主要有如下优势:
·提供一个快速的Spring项目搭建渠道。
·开箱即用,很少的Spring 配置就能运行一个JavaEE项目。
·提供了生产级的服务监控方案。
内嵌服务器,可以快速部署。
提供了一系列非功能性的通用配置。
纯Java配置,没有代码生成,也不需要XML配置。
Spring Boot是一个“年轻”的项目,发展非常迅速,特别是在Spring Boot 2.0之后,许多API都有较大的变化,本文的写作基于目前最新的稳定版2.5.4,因此需要Java8或9以及Spring Framework 5.0.8.RELEASE或更高版本,同时,构建工具的版本要求为Maven 3.6+或 Gradle 4。
传统的JavaEE开发效率低下、配置臃肿、调试不便,严重制约了程序员的生产力。Spring Boot致力于简化开发配置,并为企业级开发提供一系列非业务性功能;
而Vue则采用数据驱动视图的方式将程序员从烦琐的DOM操作中解救出来,利用Spring Boot+Vue,可以快速开发出大型SPA应用。
本文致力于让读者快速掌握全栈开发基本技术栈,并能够快速、独立地开发出SPA应用。
希望大家能够仔细阅读本文,理解其中的真谛,并且能够吸收利用到工作中去!!
本章主要向读者介绍了一个简单的Spring Boot项目的基本创建过程,从而让读者感受到Spring Boot的魅力。当一个Spring Boot项目创建成功之后,几乎零配置,开发者就可以直接使用Spring 和Spring MVC 中的功能了。第2章将向读者详细介绍Spring Boot的基础配置。
本章主要向读者介绍了Spring Boot常见的基础性配置,包括依赖管理的多种方式,如入口类注解、banner定制、Web容器配置以及Properties配置和YAML配置等,这些配置将是后面章节的基础。第3章将向读者介绍使用Spring Boot整合视图层技术。
第3章Spring Boot整合视图层技术
本章向读者介绍了Spring Boot整合视图层技术,选择了两个具有代表性的例子:Thymeleaf和FreeMarker。开发者用到其他模板技术时,整合方式和Thymeleaf、FreeMarker基本一致。如果开发者使用的是目前流行的前后端分离技术,那么在开发过程中不需要整合视图层技术,后端直接提供接口即可。第4章将向读者介绍Spring Boot 整合Web开发的其他细节。
本章向读者介绍了Spring Boot整合Web开发时一些常见、有用的配置。在这些配置中,大部分是Spring MVC的功能,只是在Spring Boot中做了自动化配置,少部分是Spring Boot自身提供的功能,例如CommandLineRunner。第5章将向读者介绍Spring Boot整合持久层技术。
本章主要和读者分享了Spring Boot整合持久层技术,包括JdbcTemplate、MyBatis 以及SpringData JPA。其中,JdbcTemplate使用得并不是很广泛;MyBatis灵活性较好,方便开发者进行SQL优化;Spring Data JPA使用方便,特别是快速实现一个RESTful风格的应用(将在第7章向读者介绍)。
本章主要向读者介绍了Spring Boot整合NoSQL数据库以及结合Redis实现Session共享。对于NoSQL数据库,介绍了比较常见的两种:MongoDB和Redis。MongoDB在一些场景中甚至可以完全替代关系型数据库,Redis更多的使用场景则是作为缓存服务器(本书第9章将详细介绍Redis缓存),开发者可根据具体情况选择合适的NoSQL。
本章向读者介绍了Spring Boot构建RESTful服务,结合Spring Data Rest、Spring Data JPA以及Spring Data MongoDB,Spring Boot可以快速构建出一个基本的RESTful服务,而开发者可以结合具体情况选择关系型数据库或者非关系型数据库作为数据支撑。在一些常规功能的项目中,Spring Boot的这些特性可以帮助开发者省去许多繁杂臃肿的配置。
本章向读者介绍了Spring Boot中的开发者工具和单元测试,开发者工具的一个核心功能就是热部署,结合LiveReload可以极大地缩短开发者等待编译的时间,有效提高开发效率;单元测试则与Spring 单元测试一脉相承,但是又增加了许多功能,同时简化了测试代码,使开发者极大地节省了测试的编码时间。本章对于单元测试只是介绍了一些常用功能,如果读者想了解完整的单元测试功能,可以参考Spring Boot官方文档单元测试一节。
本章向读者介绍了两种常见的缓存技术Ehcache和Redis,其中 Redis又分为单机缓存和集群缓存。Ehcache部署简单,使用门槛较低,操作简便,但是功能较少,可扩展性较弱;Redis则需要单独部署服务器,单机版的Redis缓存基本上做到了开箱即用,集群版的Redis缓存虽然配置烦琐,但是具有良好的扩展性与安全性,开发者在开发中可根据实际情况选择不同的缓存实现策略。
本章主要向读者介绍了Spring Security 以及Shiro在 Spring Boot中的使用。对于SpringSecurity,有基于传统认证方式的Session认证,也有使用OAuth协议的认证。一般来说,在传统的Web架构中,使用Session认证方便快速,但是,若结合微服务、前后端分离等架构,则使用OAuth认证更加方便,具体使用哪一种,需要开发者根据实际情况进行取舍。而对于Shiro,虽然功能不及Spring Security强大,但是简单易用,而且也能胜任大部分的中小型项目。当然,在SpringBoot项目中,Spring Security的整合显然要更加容易,因此可以首选Spring Security。如果开发团队对Spring Security不熟悉却熟悉Shiro的使用,当然也可以使用Shiro,这个要结合具体情况来定。
本章主要向读者介绍了Spring Boot整合WebSocket,整体来说,经过Spring Boot自动化配置之后的WebSocket使用起来还是非常方便的。通过@MessageMapping 注解配置消息接口,通过@SendTo或者SimpMessagingTemplate进行消息转发,通过简单的几行配置,就能实现点对点、点对面的消息发送。在企业信息管理系统中,一般即时通信、通告发布等功能都会用到WebSocket。
本章向读者介绍了Spring Boot对消息服务的支持,传统的JMS和AMQP各有千秋,JMS从API的层面对消息中间件进行了统一,AMQP从协议层面来统一,JMS不支持跨平台,而AMQP天然地具备跨平台功能。AMQP支持的消息模型也更加丰富,除了本章介绍的ActiveMQ和RabbitMQ之外,Spring Boot也能方便地整合Kafka、Artemis等,开发者可根据实际情况选择合适的消息中间件。
本章向读者介绍了企业开发中一些常用的功能,如邮件发送、定时任务、批处理、Swagger 2以及数据校验,这些功能都有非常广泛的使用场景,如用户注册、修改密码、定时备份、接口文档等,除了Swagger2外,其他4个功能在Spring Boot中都提供了相关的Starter,简化了开发者的使用步骤,提高了开发效率。
本章向读者介绍了Spring Boot项目中常见的应用监控,分别介绍了端点的配置以及监控数据的可视化,Spring Boot提供的这一整套应用监控解决方案非常强大,在常规项目中稍微修改就可以直接用于生产环境了。邮件报警则可以使运维工程师及时获取应用的运行信息,特别是在应用程序下线时及时收到通知,尽早解决问题,避免造成损失。
本章主要向读者介绍了Spring Boot项目不同的打包方式,开发者可以使用传统的WAR包部署,也可以使用Spring Boot官方推荐的JAR包部署,两种部署方式各有优缺点,需要开发者根据实际情况选择合适的部署方式。
本章向读者介绍了一个微人事项目,主要从登录模块、动态加载用户菜单、员工资料模块、邮件发送模块、Excel导入导出模块、在线聊天模块以及编译打包几个方面介绍。由于原项目代码量庞大,本章主要选取一些关键步骤进行介绍,完整代码读者可以在GitHub上下载,下载地址为。。。。
这份【springboot+Vue全栈开发实战】共有343页,需要完整版的朋友,可以转发此文关注小编,vx号:tofacebook-com