码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot 简介

时间:2020-10-24 09:49:37      阅读:20      评论:0      收藏:0      [点我收藏+]

标签:cat   扩大   war   发布   ima   简化   java 开发   工作   cdn   

历史背景

随着 2007 年 Spring 1.0 版本的发布,Spring 依靠 IoC 和 AOP 两大内核技术,以简化 Java 开发为目标,为广大 Java 开发者提供了一个轻量级的一站式企业级框架,彻底解决了 Sun 公司发布的 EJB 重量级框架的繁琐和难用问题,逐渐成为 JavaEE 企业级开发框架的领导者。

随着 Spring 框架的发展以及企业的大量使用,Java 开发者逐渐对 Spring 的大量 XML 配置感到头痛和不满;另一方面,随着项目规模的扩大,项目中需要导入更多的 Jar 依赖包,大量的 Jar 包很容易出现版本兼容性问题,这也让 Java 开发者感到烦恼和痛苦。
技术图片

基于 Spring 框架使用者的反馈的配置繁琐和 Jar 依赖冲突问题,为此 Spring 开源组织积极响应,SpringBoot 终于诞生了。

这就是 SpringBoot 框架产生的历史背景。

什么是 SpringBoot

Spring Boot 是由 Pivotal 团队提供的全新框架,它是基于 Spring4.0 设计,不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整个搭建和开发过程。

SpringBoot 本身并不提供 Spring 框架的核心特性以及扩展功能,也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。

关于 SpringBoot 有一句很出名的话就是约定大于配置。采用 Spring Boot 可以大大的简化开发模式,它集成了大量常用的第三方库配置,所有你想集成的常用框架,它都有对应的组件支持,例如 Redis、MongoDB、Jpa、kafka,Hakira 等等。SpringBoot 应用中这些第三方库几乎可以零配置地开箱即用,大部分的 SpringBoot 应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

SpringBoot 四大神器

  • 自动配置

针对很多 Spring 应用程序常见的应用功能,Spring Boot 能自动提供相关配置(默认配置),号称可以做到 0 配置,不需要任何 XML 配置文件。

  • 起步依赖

告诉 Spring Boot 需要什么功能,它就能引入需要的所有库,在 maven 的基础上进一步方便管理 Jar 依赖包,减少 maven pom 配置依赖包的麻烦。

  • 命令行界面

这是 Spring Boot 的可选特性,借此你只需写在命令行执行几条命令就能完成完整的应用程序,无需传统项目构建。由于这种项目构建方式有别于传统方式,所以使用起来有一些别扭和不习惯。

  • Acuator

让你能够深入运行中的 Spring Boot 应用程序、一探究竟,具体而言就可以可以监控应用程序的各自运行情况。
技术图片

SpringBoot 项目创建

有三种方式可以创建 SpringBoot 项目

  • SpringBoot 项目本质上是一个 maven 项目,所以可以先创建 maven 项目,然后在添加 SpringBoot 的依赖包

  • 在 SpringBoot 的官网平台上创建项目,如下:
    平台地址 :https://start.spring.io/
    技术图片

  • 在 IDEA 中创建
    新建 project 选择 Spring Initializr
    技术图片

创建时还可以提前勾选需要导入的功能,如下:
技术图片

总结

软件工程是一个不断抽象,不断把复杂的东西简化的这样一套理论和工具,不是是说使用起来越复杂就可以彰显我的高端和牛逼,有时候反而是做多错多。所以,SpringBoot 告诉我们这些工作都没必要,框架来做就行了,你们可以专注于代码逻辑。

SpringBoot 具有如下优点:

  • 快速创建独立运行的 Spring 项目以及与主流框架集成

  • 使用嵌入式的 tomcat 容器,应用无需打成 WAR 包

  • Starters 起步依赖与版本控制

  • 大量的自动配置,简化开发,也可修改默认值

  • 无需配置XML,无代码生成,开箱即用

  • 准生产环境的运行时应用监控

与云计算的天然集成

这些优点这篇文章中有的涉及到了,有的还没介绍。我会在之后的文章中陆续把这些话题展开。那么现在,你要做的就是,赶紧把 SpringBoot 用起来吧!

SpringBoot 简介

标签:cat   扩大   war   发布   ima   简化   java 开发   工作   cdn   

原文地址:https://www.cnblogs.com/binbingg/p/13862662.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!