Java Spring Framework (Spring Framework) 是一种热门的开源企业级框架,用于创建在 Java 虚拟机 (JVM) 上运行的生产级的独立应用。
Java Spring Boot (Spring Boot) 则是一种工具,借助该工具的以下三个核心功能,可以更轻松、更快速地开发基于 Spring Framework 的 Web 应用和微服务:
这些功能结合在一起,形成一种工具,帮助您使用最少的配置和设置工作,创建基于 Spring 的应用。
Spring Framework 包含 依赖项注入 功能,让对象定义自己的依赖项,Spring 容器稍后会注入这些依赖项。 这使开发人员能够创建由松散耦合的组件构成的模块化应用,因此非常适合 微服务 和分布式网络应用。
Spring Framework 还为应用需要执行的典型任务提供内置支持,例如数据绑定、类型转换、验证、异常处理、资源和事件管理、国际化等。 它集成了各种 Java EE 技术,例如 RMI(远程方法调用)、AMQP(高级消息队列协议)、Java Web 服务等。 总之,Spring Framework 为开发人员提供了所需的工具和功能,帮助他们创建可在任何环境中运行的松散耦合、跨平台的 Java EE 应用。
尽管 Spring Framework 功能强大而且全面,但仍然需要开发人员花费大量时间和知识来配置、设置和部署 Spring 应用。 Spring Boot 通过三个重要功能减轻了这些工作。
借助自动配置,应用使用预设的依赖项进行初始化,您无需人工进行配置。 由于 Java Spring Boot 随附内置的自动配置功能,因此会根据您的设置(以及根据有助于避免错误的最佳实践)自动配置底层 Spring Framework 和第三方包。 尽管您可以在初始化完成后覆盖这些默认值,但 Java Spring Boot 的自动配置功能有助于快速开始开发基于 Spring 的应用,并减少人为错误的可能性。
Spring Boot 会根据项目的需要,使用能提出自己意见的方法,添加和配置启动器依赖项。 Spring Boot 会根据自己的判断来选择安装哪些包以及使用哪些默认值,因此您不需要自己做出所有这些决定并手动设置所有内容。
可在初始化过程中定义项目的需求,在此期间,您可以在涵盖典型用例的多个启动器依赖项(称为 Spring Starter)中进行选择。 只需填写一个简单的 Web 表单即可运行 Spring Boot Initializr,无需编写任何代码。
例如,"Spring Web"启动器依赖项通过将所有必要的依赖项(例如 Apache Tomcat Web 服务器)添加到项目中,以最少的配置构建基于 Spring 的 Web 应用。 "Spring Security"是另一种流行的启动器依赖项,可自动向应用添加身份验证和访问控制功能。
Spring Boot 包括 50 多个 Spring Starter,还有更多第三方启动器可用。
Spring Boot 帮助开发人员创建刚好能够运行的应用。 具体来说,通过在初始化过程中将 Tomcat 或 Netty 等 Web 服务器嵌入到应用中,创建可独立运行的应用,无需依赖外部 Web 服务器。 因此,您只需点击运行命令即可在任何平台上启动应用。 (可选择取消此功能,以构建没有嵌入式 Web 服务器的应用。)
再次重申,与单独使用 Spring Framework 相比,使用 Spring Boot 的最大优势在于易于使用和更快的开发速度。 理论上,代价是牺牲直接使用 Spring Framework 获得的更大灵活性。
但在实践中,除非您需要或想要实现非常独特的配置,否则使用 Spring Booth 是很划算的。 您仍然可以使用 Spring Framework 非常流行的注释系统,从而可以轻松地将额外的依赖项(Spring Starters 未涵盖)注入到应用中。 而且,您仍然可以访问所有 Spring Framework 功能,包括简单的事件处理、验证、数据绑定、类型转换以及内置的安全性和测试功能。 最重要的是,即使您的项目范围只覆盖一个 Spring Starter,Spring Boot 也可以显著简化开发工作。
如果您正在寻找快速、简单、入门级的 Spring Boot 说明,那么您很幸运。 网络上的入门级 Spring Boot 教程多如牛毛,包括以下两个:
要获得大量其他教程,只需在 Google 上搜索"Spring Boot 教程"。