一、行业现状
最近几年,Spring 生态圈最流行的技术框架莫过于 Spring Boot 和 Spring Cloud。目前,各个企业都在推动微服务技术架构的落地,将一个复杂的应用拆分成多个小的独立模块,分开部署,互不干扰,从而达到松散耦合、提高开发效率和降低运维成本的目的。
Spring Boot 作为微服务框架的基础被越来越多地应用于企业级开发中,它是 Spring Cloud 的基础。要学习 Spring Cloud,就必须了解 Spring Boot 框架的架构和设计理念。
Spring Boot 是 Spring 生态下的一个子项目,用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。同时,它将目前各种比较成熟的服务框架和第三方组件组合起来(如 Redis、MongoDB、JPA、RabbitMQ、Quartz 等),按照“约定优于配置”的设计思想封装成 Starters 组件。这样,我们在 Spring Boot 应用中几乎可以零配置地使用这些组件,达到开箱即用的效果,从而从繁杂的配置中解放出来,更加专注于业务逻辑的开发。
二、Spring Boot优点
Spring Boot 的优点可以概括为以下几个方面:
- 快速构建:使用 Spring Initializr 可以快速创建项目,同时提供了丰富的解决方案,便于快速集成各种解决方案,提升开发效率。
- 简化依赖:提供丰富的 Starters,简化 Maven 配置,避免版本兼容问题。
- 一键部署:内嵌 Servlet 容器,如 Tomcat、Jetty,能够直接打包成可执行 JAR 文件独立运行,支持 Jenkins、Docker,轻松实现自动化运维。
应用监控:自带 Actuator 监控组件,轻松监控服务的各项状态。使用 Spring Boot Admin 可以轻松部署功能完善的应用监控系统。
总的来说,Spring Boot 让构建、编码、配置、部署、监控都变得非常简单。Spring Boot 可以说是近年来 Spring 社区乃至整个 Java 社区非常有影响力的项目之一。
初次学习 Spring Boot 的读者,千万不要把它想得太复杂。Spring Boot 不是新的语言、新的技术,它只是把现有的比较流行的框架集成在一起,遵循“约定优于配置”的原则,开箱即用,使得我们不需要再去关注那些烦琐的配置。有了这个概念之后,就可以带着轻松的心情去学习 Spring Boot。
三、Spring Boot的优势
1. 之前的Spring MVC框架,比如SSM,相比于更老的JSP+Servlet+JavaBean框架,由于更好地封装了页面跳转逻辑,所以开发起来更方便,所以也流行过一段时间。
2. SSM框架虽然能很方便地开发各种增删改查业务,但要写很多XML配置文件,比如整合MyBatis要写XML配置,整合数据源和事务要写XML文件,整合Dubbo等分布式组件,也得写XML文件。也就是说,如果SSM等Spring MVC框架要引入其他模块,得写XML文件,通过XML配置相关参数。一个项目中,需要引入多个组件或引入多个功能模块,那么项目开发到后面,会有一大堆XML文件要维护,XML文件一多,不仅容易出错,更难排查问题。
相比之下,在Spring Boot框架里,可以通过注解来代替XML文件,从而引入各种功能点。比如可以通过引入@SpringBootApplication注解来定义启动类,引入@Transactional注解实现事务,引入 @entity和@Table注解来定义ORM映射。这样就能少写不少XML文件,便于开发和维护。
3. SSM框架项目开发好了以后,需要打包部署到Tomcat服务器上再运行,而Spring Boot能通过运行启动来启动并对外提供服务,所以从部署角度来看,Spring Boot也占优。
4. 当下大多数项目,或许会考虑全栈开发,比如和App或前端整合,或者要考虑高并发,所以往往需要和Vuejs或各种分布式组件整合,而Spring Boot框架能更好地和诸多分布式组件整合开发。换SSM的话,不能说不能整合,但整合时会引入一大堆XML文件,导致很难维护。
也就是说,Spring Boot能帮助程序员更好地搭建增删改查的业务,部署运行起来比较方便,而且能更好地整合其他功能组件,所以现在很热了,与之对应的,程序员就必须掌握Spring Boot了。
本站推荐
-
550
-
527
-
522
-
514
-
504