Spring 和 Spring Boot 有什么区别?

x33g5p2x  于2022-10-05 转载在 Spring  
字(1.6k)|赞(0)|评价(0)|浏览(355)

本教程的目的是阐明 SpringSpring Boot 之间的区别。

什么是Spring框架?

Spring 是一个轻量级的模块化框架,基于 POJO 模型,可用于所有层实现,使企业应用程序的开发更容易。 Spring成功的主要原因可以总结为:

  • 简单
  • 可测试性
  • 低耦合

Spring 框架的核心是控制反转,这是一种实现低耦合的编程模式,其中独立对象不负责它们的依赖关系。 IoC 容器从 XML 文件、Java 注释或 Java 代码和控制容器反转接收元数据。

虽然 Spring 在组件代码方面是轻量级的,但在配置方面却是重量级的。最初,Spring 中的所有内容都使用 XML 进行配置。然后,Spring 2.5 引入了基于注释的组件扫描,它消除了部分显式 XML 配置。接下来,Spring 3.0 引入了基于 Java 的配置作为 XML 的类型安全和可重构选项。

即便如此,这并没有真正摆脱配置。启用某些 Spring 功能 Spring MVC 或事务管理仍然需要显式配置,无论是在 XML 还是 Java 中。第三方库功能也是如此,例如基于 Thymeleaf 的 Web 视图或配置 servlet 和过滤器。

所有这些配置都代表了开发摩擦。管理 Spring 功能配置所需的精神转变分散了解决业务问题的注意力。

此外,依赖管理是另一种形式的摩擦。当您向构建添加依赖项时,您不是在编写应用程序代码。选择这些依赖项的错误版本而导致的任何不兼容性都会大大降低您的工作效率。 Spring Boot 来了。

什么是 Spring Boot 代替?

我们将开始说 Spring Boot 不是一个框架,使用 Spring Framework 可以完成所有可以通过 Spring Boot 实现的事情。在实践中,Spring Boot 是一种以最少或零配置轻松创建基于 Spring 的应用程序的方法。这怎么会发生?因为 Spring Boot 为代码和注解配置提供了默认值,以便快速启动新的 Spring 项目。 Spring Boot 利用现有的 spring 模块以及第三方项目来创建生产就绪的应用程序。简化应用程序开发的一种方法是提供一组“starters”Pom/Gradle 构建文件,以促进依赖项的自动配置。

简而言之,Spring Boot 是一个快速应用程序开发平台,基于 Spring 应用程序的自以为是的实例。

示例:假设用户正在使用 Spring MVC 模式创建一个 Web 应用程序,那么很明显他需要一个像 Tomcat 这样的 Web 服务器来部署这个应用程序。通过提供开箱即用的 Tomcat,当您在项目中添加“web”启动器时,将节省大量安装、配置 Tomcat 实例的时间和精力。另一方面,如果您不想要这个默认的 Web 服务器,那么 Spring Boot 可以灵活地轻松插入另一个,例如 Undertow。

使用 Spring Boot 开发应用程序的一些主要优点是:

  • 它减少了大量的开发时间并提高了生产力。
  • 使用 Java 或 Groovy 开发基于 Spring 的应用程序变得非常容易。
  • 它避免了花时间编写大量样板代码、注释和 XML 配置。
  • 将 Spring Boot Application 与其 Spring 生态系统(如 Spring JDBC、Spring ORM、Spring Data、Spring Security 等)集成非常容易。
  • Spring Boot 包括一个强大的 CLI(命令行界面)工具来开发和测试 Spring Boot 应用程序和一个 Cloud Web 应用程序来创建新项目
  • Spring Boot 遵循“Opinionated Defaults Configuration”方法来减少开发人员的工作量
  • Spring Boot 提供了许多插件,可以非常轻松地使用嵌入式和内存数据库。
  • Spring Boot 包括非功能性需求,例如 Spring Boot Actuator(一个轻松带来指标、健康检查和管理的模块)和用于运行 Web 应用程序的嵌入式容器(例如 Tomcat、Undertow、Jetty 等)

相关文章

微信公众号

最新文章

更多