Java Spring Boot (Spring Boot) 是一种工具,可借助它更快、更轻松地使用 Java Spring Framework 来开发 Web 应用程序和微服务。
Java Spring Framework (Spring Framework) 是一个流行的开源企业级框架,可用于创建运行于 Java 虚拟机 (JVM) 上的独立生产级应用程序。Spring Boot 通过三个核心功能来帮助并简化 Spring Framework 开发:
这些功能会协同工作以提供一个工具,从而用于通过最少的配置和设置来打造基于 Spring 的应用程序。Spring Boot 应用程序也可使用 Open Liberty 运行时进行优化和运行。
Spring Framework 提供依赖关系注入功能,从而允许对象定义自己的依赖关系,而 Spring 容器稍后会将这些依赖关系注入到对象中。此功能支持开发人员创建由松散耦合组件组成的模块化应用程序,而这些组件非常适合微服务和分布式网络应用程序。
Spring Framework 还为应用程序需执行的典型任务提供内置支持,例如数据绑定、类型转换、验证、异常处理、资源与事件管理、国际化等。它可与各种 Java EE 技术集成,例如 RMI(远程方法调用)、AMQP(高级消息队列协议)、Java Web 服务等。
最近,Spring Framework 采用 Jakarta 命名空间来使用众多新增与更新的 Jakarta EE 规范。总而言之,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”入门依赖关系可简化基于 Spring 的 Web 应用程序的构建。它只需在项目中添加所有必要的依赖关系(如 Apache Tomcat Web 服务器),从而将配置要求降至最低。“Spring Security”是另一种常用的入门依赖关系,它会自动向应用程序添加身份验证与访问控制功能。
Spring Boot 包含 50 多个 Spring Starter,同时还有更多第三方入门依赖关系可供使用。
Spring Boot 可帮助开发人员创建即开即用的应用程序。具体而言,您可创建独立运行的应用程序,而无需依赖外部 Web 服务器。
在初始化过程中,您可通过嵌入 Web 服务器(如 Tomcat 或 Netty)来创建独立应用程序。如此,您便可在任意平台上通过按下运行命令来启动您的应用程序。(您可选择不使用此功能来构建不带嵌入式 Web 服务器的应用程序。)
同样,与单独使用 Spring Framework 相比,使用 Spring Boot 的最大优势在于使用方便和更快的开发速度。理论上,此优势的代价是牺牲直接使用 Spring Framework 所获得的更大灵活性。
但在实践中,除非您需要或想要实现特有的配置,否则便值得使用 Spring Booth。您仍可使用 Spring Framework 的流行注释系统,轻松向应用程序注入额外的依赖关系(Spring Starter 未涵盖的依赖关系)。
而且,您仍可访问所有 Spring Framework 功能,包括简便事件处理、验证、数据绑定、类型转换以及内置的安全与测试功能。最重要的是,即使只有一个 Spring Starter 能覆盖您的项目范围,Spring Boot 也可大幅简化开发工作。
如果您正在寻找快速、简单的入门级 Spring Boot 教程,IBM 则可满足您的需求。查看最新的 Open Liberty 指南,帮助您构建和部署 Spring Boot 应用程序。
完全托管的单租户服务,用于开发和交付 Java 应用程序。
使用开发运维软件和工具,在多种设备和环境中构建、部署和管理云原生应用程序。
云应用程序开发意味着一次构建、快速迭代和随处部署。