spring boot 是什么

什么是 Spring Boot

Spring Boot 特性html

  • 使用 Spring 项目引导页面能够在几秒构建一个项目
  • 方便对外输出各类形式的服务,如 REST API、WebSocket、Web、Streaming、Tasks
  • 很是简洁的安全策略集成
  • 支持关系数据库和非关系数据库
  • 支持运行期内嵌容器,如 Tomcat、Jetty
  • 强大的开发包,支持热启动
  • 自动管理依赖
  • 自带应用监控
  • 支持各类 IDE,如 IntelliJ IDEA 、NetBeans
  • Spring Boot 使编码变简单,Spring Boot 提供了丰富的解决方案,快速集成各类解决方案提高开发效率。
  • Spring Boot 使配置变简单,Spring Boot 提供了丰富的 Starters,集成主流开源产品每每只须要简单的配置便可。
  • Spring Boot 使部署变简单,Spring Boot 自己内嵌启动容器,仅仅须要一个命令便可启动项目,结合 Jenkins 、Docker 自动化运维很是容易实现。
  • Spring Boot 使监控变简单,Spring Boot 自带监控组件,使用 Actuator 轻松监控服务各项状态。

使用 Spring Boot 的优点

Spring Boot 让开发变得更简单

Spring Boot 对开发效率的提高是全方位的,咱们能够简单作一下对比:前端

在没有使用 Spring Boot 以前咱们开发一个 web 项目须要作哪些工做:java

  • 1)配置 web.xml,加载 Spring 和 Spring mvc
  • 2)配置数据库链接、配置 Spring 事务
  • 3)配置加载配置文件的读取,开启注解
  • 4)配置日志文件
  • n) 配置完成以后部署 tomcat 调试

可能你还须要考虑各个版本的兼容性,jar 包冲突的各类可行性。web

那么使用 Spring Boot 以后咱们须要开发一个 web 项目须要哪些操做呢?spring

  • 1)登陆网址 http://start.spring.io/ 选择对应的组件直接下载
  • 2)导入项目,直接开发

上面的 N 步和下面的2步造成巨大的反差,这仅仅只是在开发环境搭建的这个方面。数据库

Spring Boot 使测试变得更简单

Spring Boot 对测试的支持不可谓不强大,Spring Boot 内置了7种强大的测试框架:编程

  • JUnit: 一个 Java 语言的单元测试框架
  • Spring Test & Spring Boot Test:为 Spring Boot 应用提供集成测试和工具支持
  • AssertJ:支持流式断言的 Java 测试框架
  • Hamcrest:一个匹配器库
  • Mockito:一个 java mock 框架
  • JSONassert:一个针对 JSON 的断言库
  • JsonPath:JSON XPath 库

咱们只须要在项目中引入spring-boot-starter-test依赖包,就能够对数据库、Mock、 Web 等各类状况进行测试。缓存

Spring Boot 让配置变得更简单

Spring Boot 的核心思想:约定优于配置,也称做按约定编程,是一种软件设计范式,旨在减小软件开发人员需作决定的数量,得到简单的好处,而又不失灵活性。tomcat

本质是说,开发人员仅需规定应用中不符约定的部分。例如,若是模型中有个名为 User 的类,那么数据库中对应的表就会默认命名为 user。只有在偏离这一约定时,例如将该表命名为”user_info”,才需写有关这个名字的配置。安全

Spring Boot 让部署变得更简单

使用 Spring Boot 开发 Web 项目,让咱们不须要关心容器的环境问题,专心写业务代码便可。

Jenkins 是目前持续构建领域使用最普遍的工具之一,Jenkins 是一个独立的开源自动化服务器,可用于自动化各类任务,如构建,测试和部署软件。Jenkins 能够经过本机系统包 Docker 安装,甚至能够经过安装 Java Runtime Environment 的任何机器独立运行。

说直白一点 Jenkins 就是专门来负责如何将代码变成可执行的程序包,将它部署到目标服务器中,并对其运营状态(日志)进行监控的软件。自动化、性能、打包、部署、发布、发布结果自动化验证、接口测试、单元测试等等关于咱们打包测试部署的方方面面 Jenkins 均可以很友好的支持。

使用 Jenkins 部署 Spring Boot 项目很是简单,你们想继续了解能够参考个人文章:使用Jenkins部署Spring Boot,只须要前期作一些简单的配置,当咱们须要发布项目时只须要点击项目对应的发布按钮,就能够将项目从版本库中拉取、打包、发布到目标服务器中,大大简化了运维后期的部署工做。

虚拟化技术的发展给咱们带来了更多的可能性,咱们能够利用容器化技术,将 Spring Boot 项目作成镜像,根据容器集群的策略来实现弹性扩容、动态部署等。因此 Spring Boot + Docker + Jenkins 会将 Spring Boot 项目的部署作得更简单化、智能化。

Spring Boot 让监控变得更简单

Spring Boot Actuator 是 Spring Boot 提供的对应用系统监控的集成功能,能够查看应用配置的详细信息,例如自动化配置信息、建立的 Spring beans 以及一些环境属性等。

Spring Boot Admin (基于 Spring boot actuator)是一个管理和监控 Spring Boot 应用程序的开源软件。每一个应用都认为是一个客户端,经过 HTTP 或者使用 Eureka 注册到 admin server 中进行展现,Spring Boot Admin UI 部分使用 AngularJs 将数据展现在前端。

Spring Boot Admin 是一个针对 spring-boot 的 actuator 接口进行UI美化封装的监控工具。他能够:在列表中浏览全部被监控 spring-boot 项目的基本信息,详细的 Health 信息、内存信息、JVM 信息、垃圾回收信息、各类配置信息(好比数据源、缓存列表和命中率)等,还能够直接修改logger的level。

使用 Spring Boot Admin 不只能够监控 Spring Boot 项目,还能够监控 Spring Cloud 项目,所以使用了 Spring Boot 项目以后咱们监控 Spring Boot 集群效果以下:


简单、直观、易用是它的特色,针对一些特殊状况还能够提供报警服务。因此说使用 Spring Boot Actuator 解决了单个 Spring Boot 的监控问题,使用 Spring Boot Admin 就是解决了整个集群监控的问题。

Spring 、Spring Boot 和 Spring Cloud 的关系

Spring 最初最核心的两大核心功能 Spring Ioc 和 Spring Aop 成就了 Spring,Spring 在这两大核心的功能上不断的发展,才有了 Spring 事务、Spring Mvc 等一系列伟大的产品,最终成就了 Spring 帝国,到了后期 Spring 几乎能够解决企业开发中的全部问题。

Spring Boot 是在强大的 Spring 帝国生态基础上面发展而来,发明 Spring Boot 不是为了取代 Spring ,是为了让人们更容易的使用 Spring 。因此说没有 Spring 强大的功能和生态,就不会有后期的 Spring Boot 火热, Spring Boot 使用约定优于配置的理念,从新重构了 Spring 的使用,让 Spring 后续的发展更有生命力。

Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,均可以用 Spring Boot 的开发风格作到一键启动和部署。

Spring ioc/aop > Spring > Spring Boot > Spring Cloud

做者:纯洁的微笑
出处:www.ityouknow.com 
版权全部,欢迎保留原文连接进行转载:)
相关文章
相关标签/搜索