精通Springboot,薪资随便开

最近 Spring Boot火的一塌糊涂,用Spring Boot的互联网公司越来越多;现在出去面试 Java , Spring Boot 已经成了必问的技术点。

一切都在证明,Spring Boot 已经成为了 Java 程序员必备的技能。可以预见的是未来 Spring Boot 的发展还会更好,今天我们就来说一下Spring Boot 为什么这么火、这么受热捧。

Spring Boot 并不是一个新的框架,它只是 Spring 公司下面的一个项目,也是由 Spring 演变出来的。如果你还不知道Spring Boot,那就先到悟空学院学习 Spring 去吧。

我们先来看看Springboot的优点有哪些

1.Spring Boot 特性

  • 使用 Spring 项目引导页面可以在几秒构建一个项目
  • 方便对外输出各种形式的服务,如 REST API、WebSocket、Web、Streaming、Tasks
  • 非常简洁的安全策略集成
  • 支持关系数据库和非关系数据库
  • 支持运行期内嵌容器,如 Tomcat、Jetty
  • 强大的开发包,支持热启动
  • 自动管理依赖
  • 自带应用监控
  • 支持各种 IED,如 IntelliJ IDEA 、NetBeans

2.Spring Boot的设计理念

要说到 Spring Boot 为什么这么火,就必须得聊聊 Spring Boot 的设计理念,正是此设计理念奠基了Spring Boot 开发设计的基准,让 Spring Boot 走到了今天。

那 Spring Boot 的设计理念是什么呢?它就是约定优于配置(convention over configuration)

约定优于配置并不是一个新概念,它是一种软件设计范式,很早就应用在软件架构设计中,它的作用是减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。

只是 Spring Boot 让这个设计理念上升了一个层次,Spring Boot 不止在某个功能上实现此设计理念,而是整个软件体系都在践行约定优于配置。

Spring Boot 体系将约定优于配置的思想展现得淋淋尽致,小到配置文件,中间件的默认配置,大到内置容器、生态中的各种 Starters 无不遵循此设计规则。

Spring Boot Jpa 80% 大部分查询功能都以约定的方式给与提供,另外 20% 复杂的场景,提供另外的技术手段来解决,典型的约定优于配置的实现。

Spring Boot Starter ,在项目启动的时候,根据约定信息对组件进行加载、初始化。因此项目中引入了对于的 Starter 之后,就可以到达开箱即用的效果。

甚至 Spring Cloud 的设计,也借鉴了约定优于配置的思想,很多组件都是在启动时,默认提供了其相关的功能,可以让我们的使用到达很少配置或者零配置。

是的,Spring Boot就是这么的强大。Spring Boot的目标就是解决Spring繁琐的配置而出现的。以一个简单的application.properties配置文件就可以完成所有的配置。

通过Spring Boot还可以直接集成web容器,也就是说一个web项目可以像普通的java项目一样运行。而这一切的配置依然都是在application.properties中所进行配置的。

那么到底什么是spring boot呢?

借用百度百科中的一段话,Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

从这段话中,我们可以了解到一些信息,Spring Boot是为了简化Spring的初始搭建以及开发过程而存在的。做过Spring开发的朋友都知道,尤其是在Spring1的时代,需要大量的xml的配置,到了Spring2和Spring3出现了注解和java配置的方式,配置相对简单,但依然有众多的模板配置。那么Spring Boot的出现就是为了简化这些配置的。Spring Boot专注于敏捷开发。敏捷开发是现在软件开发领域所倡导的一个理念。其中有一个原则就是习惯优于配置,在Spring中整合一个第三方工具可能要进行很多的配置,而到了Spring Boot中,可能一行配置都不需要写就可以了。

对于普通开发者来讲,关注Spring Boot的意义其实并大不,因为Spring Boot也是基于Spring的,对于业务逻辑代码的开发使用还是不使用Spring Boot是没有任何关系的。但是,对于系统架构师来讲,就比较有意义了,因为在集成各种组件的时候少了很多的配置,非常的简洁方便。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();