专栏首页微信公众号【Java技术江湖】为什么越来越多的开发者选择使用Spring Boot?

为什么越来越多的开发者选择使用Spring Boot?

本篇是紧接着上一篇展开的,后续也会有一系列关于Spring Boot相关的文章,欢迎有需要的小伙伴关注!

一、Web应用开发背景

使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架、库以及整个生态系统。经过这么长时间的发展,Java作为一个成熟的语言,也演化出了非常成熟的生态系统,这也是许多公司采用Java作为主流的语言进行服务器端开发的原因,也是为什么Java一直保持着非常活跃的用户群体的原因。

最受Java开发者喜好的框架当属Spring,Spring也成为了在Java EE开发中真正意义上的标准,但是随着新技术的发展,脚本语言大行其道的时代(Node JS,Ruby,Groovy,Scala等),Java EE使用Spring逐渐变得笨重起来,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题。

这些问题在不断的社区反馈下,Spring团队也开发出了相应的框架:Spring Boot。Spring Boot可以说是至少近5年来Spring乃至整个Java社区最有影响力的项目之一,也被人看作是:Java EE开发的颠覆者!

二、Spring Boot解决的问题

(1) Spring Boot使编码变简单

(2) Spring Boot使配置变简单

(3) Spring Boot使部署变简单

(4) Spring Boot使监控变简单

(5) Spring的不足

三、Spring Boot的优点

官方地址:https://spring.io/projects/spring-boot

Spring Boot继承了Spring的优点,并新增了一些新功能和特性:

(1)SpringBoot是伴随着Spring4.0诞生的,一经推出,引起了巨大的反向; (2)从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架; (3)SpringBoot帮助开发者快速启动一个Web容器; (4)SpringBoot继承了原有Spring框架的优秀基因; (5)SpringBoot简化了使用Spring的过程; (6)Spring Boot为我们带来了脚本语言开发的效率,但是Spring Boot并没有让我们意外的新技术,都是Java EE开发者常见的额技术。

四、Spring Boot主要特性

(1)遵循“习惯优于配置”的原则,使用Spring Boot只需要很少的配置,大部分的时候我们直接使用默认的配置即可; (2)项目快速搭建,可以无需配置的自动整合第三方的框架; (3)可以完全不使用XML配置文件,只需要自动配置和Java Config; (4)内嵌Servlet容器,降低了对环境的要求,可以使用命令直接执行项目,应用可用jar包执行:java -jar; (5)提供了starter POM, 能够非常方便的进行包管理, 很大程度上减少了jar hell或者dependency hell; (6)运行中应用状态的监控; (7)对主流开发框架的无配置集成; (8)与云计算的天然继承;

五、Spring Boot的核心功能

(1)独立运行的Spring项目

Spring Boot可以以jar包的形式进行独立的运行,使用:java -jar xx.jar 就可以成功的运行项目,或者在应用项目的主程序中运行main函数即可;

(2)内嵌的Servlet容器

内嵌容器,使得我们可以执行运行项目的主程序main函数,实现项目的快速运行;

主程序代码SpringbootDemoApplication.java

(3)提供starter简化Manen配置

Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖,下边是创建一个web项目中自动包含的依赖,使用的starter pom依赖为:spring-boot-starter-web

Spring Boot官网还提供了很多的starter pom,请参考:

https://docs.spring.io/spring-boot/docs/2.0.4.RELEASE/reference/htmlsingle/#using-boot-starter

(4)自动配置Spring

Spring Boot会根据我们项目中类路径的jar包/类,为jar包的类进行自动配置Bean,这样一来就大大的简化了我们的配置。当然,这只是Spring考虑到的大多数的使用场景,在一些特殊情况,我们还需要自定义自动配置;

(5)无代码生成和XML配置

Spring Boot神奇的地方不是借助于代码生成来实现的,而是通过条件注解的方式来实现的,这也是Spring 4.x的新特性。

六、Spring Boot的快速搭建案例

下边使用的是IDEA快速搭建一个Spring Boot项目

(1)File—-New—New Project

(2)点击Next填写相应的信息

(3)点击Next,选择Dependencies,这里创建Web项目选择—–Web:

(4)点击Next,设置项目名称,这里默认设置,点击Next之后,项目等一下就创建好了

找到应用程序的主函数,运行即可:

注意,在pom文件里的java版本这个要和你的机子上一致!我的是1.8,默认创建项目的时候为1.8:

本文分享自微信公众号 - Java技术江湖(alicoder)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一位大佬的Springboot使用心得。

    Spring Boot是最流行的用于开发微服务的Java框架。在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践。这...

    Java技术江湖
  • 再见面试官:Spring,SpringMVC,SpringBoot,SpringCloud 有什么区别和联系?

    Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring使你能够编写更干净、更可管理、并且更易于测试的代码。

    Java技术江湖
  • 为什么选择 Spring 作为 Java 框架?

    在本文中,我们将讨论 Spring 作为最流行的 Java 框架之一的主要价值体现。

    Java技术江湖
  • Springboot2.0教程(11)

    先来聊一聊Spring作为Java开发人员,大家都Spring可不陌生,简而言之,Spring框架为开发Java应用程序提供了全面的基础架构支持。...

    java进阶架构师
  • Spring Framework 5中的新功能和增强功能(文末送书)

    Spring 5 是一个重要的版本,距离 Spring 4 发布有四年多了。通过本文的介绍,我们一起来快速了解 Spring 5 发行版中的那些令人兴奋的特性。

    java乐园
  • Spring的这七大问题,验证你能否进大厂!

    当程序员当的越久,接触的越多,就会越“迷茫”。像我,分布式好像懂一点,源码也好像懂一点。技术栈越来越多,但是好像哪一点也不精通,就会代码写得越多越“迷茫”。我可...

    Java团长
  • 从新手到行家:Spring、Spring Boot\Cloud 学习指南 | 视频版

    作为一名 Java 程序员,现在你已经很难离开 Spring 了,Spring 历经十几年发展事实上已经成为 Java 领域最重要的框架(没有之一),从早期的 ...

    纯洁的微笑
  • 深入浅出,Spring 框架和 Spring Boot 的故事

    Spring 框架可以说是 Java 开发人员使用的最流行的应用程序开发框架之一。它目前由大量提供一系列服务的模块组成。包括模块容器,为构建横切关注点提供支持的...

    芋道源码
  • Spring实战1:Spring初探

    现在的Java程序员赶上了好时候。在将近20年的历史中,Java的发展历经沉浮。尽管有很多为人诟病的产品,例如applets、EJB、Java Data Obj...

    java架构师
  • 玩转Spring,行家的视频课程

    毋庸置疑,Spring早已成为Java后端开发事实上的行业标准,无数的公司选择Spring作为基础的开发框架,大部分Java后端程序员在日常工作中也会接触到Sp...

    JavaQ

扫码关注云+社区

领取腾讯云代金券