模块10 基于SpringBoot的Web应用程序开发
章节导读目前,SpringBoot是后端开发API(ApplicationProgramInterface,应用程序接口)的主流框架。SpringBoot不是一个新的框架,而是对Spring的补充、改善和优化,它默认配置了很多框架的使用方式,Maven整合了多个JAR包。SpringBoot整合了多个框架,用来简化Spring应用程序的创建和部署。SpringBoot基于约定优于配置的思想,可以让开发者不必在配置与业务逻辑之间进行思维的切换,全身心地投入业务逻辑的代码编写中,从而大大提高开发的效率,在一定程度上缩短了项目周期。
【问题10-1】什么是SpringBoot?1【问题10-3】JavaWeb项目通常打包为WAR包,SpringBoot项目为什么打包为JAR包?3【问题10-5】SpringBoot项目的pom.xml文件中继承的spring-boot-starter-parent依赖有何作用?5【问题10-7】SpringBoot项目启动类上方的@SpringBootApplication注解做了什么?7【问题10-9】SpringBoot项目启动类的main()方法中SpringApplication.run()的作用是什么?9【问题10-11】SpringBoot中有哪些常用的Starters?11【问题10-2】为什么要使用SpringBoot框架?2【问题10-4】如何理解SpringBoot的“约定优于配置”的设计理念?4【问题10-6】SpringBoot项目的pom.xml文件中导入的spring-boot-starter-web依赖有何作用?6【问题10-8】SpringBoot项目没有配置Tomcat,也可以不设置端口,程序如何启动?8【问题10-10】如何实现SpringBoot应用程序的热部署?10【问题10-12】创建SpringBoot应用程序应满足哪些先决条件?123释疑解惑
前导知识【知识10-1】比较SpringBoot与SpringFrameworkSpringFramework是一种流行的Java应用程序开发框架,其主要功能是依赖注入或控制反转。借助SpringFramework,可以开发松耦合的应用程序。SpringBoot是基于SpringFramework的模块,它允许构建具有最少配置或零配置的独立应用程序。SpringFramework和SpringBoot之间的主要区别如表10-1所示。SpringFrameworkSpringBootSpringFramework是用于构建应用程序的广泛使用的JavaEE框架SpringBoot被广泛用于开发RESTAPI旨在简化JavaEE开发,从而使开发过程更加高效旨在缩短代码长度,并提供开发Web应用程序的最简单方法SpringFramework的主要功能是依赖注入SpringBoot的主要功能是自动配置,它会根据需求自动配置类允许开发者开发松耦合的应用程序有助于创建配置更少的独立应用开发者需要编写大量代码(模板代码)来完成最小的任务减少了样板代码测试Spring项目时,需要显式设置服务器提供了嵌入式服务器,如Tomcat、Jetty等不支持内存数据库提供了多个插件来处理嵌入式和内存中的数据库,如H2开发者在pom.xml中为Spring项目手动定义依赖项SpringBoot在pom.xml文件中带有Starter功能,该功能负责根据SpringBoot要求下载依赖项表10-1?SpringFramework和SpringBoot之间的主要区别
前导知识【知识10-2】比较SpringBoot与SpringMVCSpringBoot使得快速引导和开发基于Spring的过程变得容易,它避免了很多样板代码,隐藏了很多复杂的信息,因此开发者可以快速入门并轻松开发基于Spring的应用程序。SpringMVC是用于构建Web应用程序的WebMVC框架,它包含各种功能的配置文件,是一个面向HTTP的Web应用程序开发框架。SpringBoot和SpringMVC之间的主要区别如表10-2所示。表10-2SpringBoot与SpringMVC之间的主要区别SpringBootSpringMVCSpringBoot是Spring的模块,用于使用合理的默认值打包基于Spring的应用程序SpringMVC是Spring框架下基于模型、视图、控制器的Web框架无须手动构建配置需要手动构建配置不需要部署描述符需要部署描述符避免了样板代码