初识Spring Boot

Spring Boot是什么?

Spring Boot 基于Spring,为了解决Spring框架时配置繁多、部署流程复杂、开发效率低等问题。如果说Spring 目标是简化Java开发,那么可以认为Spring Boot 框架的目标是简化Spring的开发。 Spring Boot 可以创建独立程序,内嵌了tomcat、jetty等,可以直接启动应用程序而不需要外部的容器。同时,Spring boot 可以自动配置Spring应用,并且将一些框架的依赖包整合起来,如开发web程序只需要引入web的starter,极大的简化了包引用。从Spring创建以来,Spring Boot大概是Spring领域中最令人兴奋的事情了。它在Spring之上构建了全新的开发模型,移除了开发Spring应用中乏味的内容。

Spring Boot提供了Spring Boot Starter、自动配置、命令行接口、Actuator四个主要特性,改变了开发Spring 应用程式的方式。

Spring Boot Starter:它将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle的构建中;

自动配置:Spring Boot的自动配置特性利用了Spring 4 对条件化配置的支持,合理的推测应用所需的bean自动化的配置它们。

命令行接口(Commond-line interface,CLI):Spring 的CLI发挥了Groovy编程语言的优势,并结合自动配置进一步简化Spring应用的开发;

Actuator:它为Spring Boot应用添加了一定的管理特性。

Spring Boot Starter(依赖的传递性)

Spring boot Satarter将应用所需的各种依赖聚合成一项依赖。它的工作方式使用了Maven和Gradle的依赖传递方案,Starter在自己的Pom.xml文件中声明了多个依赖。当我们将某一个Starter依赖添加到Maven或Gradle构建中的时候,Starter的依赖将会自动地传递性解析。这些依赖可能会也有其他依赖。一个Starter可能会传递性地引入几十个依赖。

自动配置

自动配置功能消减了Spring配置的数量,使用了约定优于配置的理念,大大的减少了Spring中的一些配置。它在实现时会考虑应用中的其他因素并推断出你所需要的Spring配置。

场景1:将Thymeleaf模板作为Spring MVC的视图,至少需要三个bean:ThymeleafView-Resolver,  SpringTemplateEngine,TemplateResolver。但是使用Spring Boot自动配置的话,我们需要做的仅仅是将Thymeleaf添加项目的类路径中。如果Spring Boot探测Thymeleaf位于类路径中,它将会推断出我们需要使用Thyemeleaf实现Spring Mvc的视图功能,并自动配置这些bean.

场景2:Spring boot Starter也会触发自动配置。在Spring Boot应用中,如果我们想要使用Spring MVC的话,所需要做的仅仅是将Web Starter作为依赖放到构建之中。将Web Starter作为依赖放到构建中以后,它会自动添加Spring MVC依赖(前面提到的依赖传递性)。如果Spring Boot 的Web 自动配置探测到Spring MVC 位于类路径下,它将会自动配置支持Spring MVC的多个bean,包括视图解析器、资源处理器以及消息 转换器等等。我们接下来需要做的就是编写处理请求的控制器。如果你之前从头配置过一个Spring MVC 项目,你会理解这带来的效率。

Spring Boot CLI

spring Boot CLI充分使用了Spring Boot Starter和自动配置的魔力,并添加一些Groovy的功能,它简化了Spring 的开发流程,通过CLI,我们能运行一个或多个Groovy脚本,并查看它是如何运行的。在应用运行过程中,CLI能够自动导入Spring类型并解析依赖。

有一种实践,单元测试代码通过Groovy编写,带来效率的提升。

Actuator

Spring Boot Actuator 为Spring Boot项目带来了很多有用的特性,包括

  • 管理端点
  • 合理的异常处理以及默认的“/error"映射端点
  • 获取应用的”/info"端点
  • 当启用Spring Security时会有一个审计事件框架

这些特性很有用的,但Actuator最有用和最有意思的是管理端点,它开启了一扇窗,能够让我们洞悉内部的应用运行状况。

以上是Spring Boot的主要四个特性介绍,Spring Boot 的Starter减少了依赖列表的长度,自动配置功能则消减了Spring配置的数量。Spring Boot CLI 通过与Groovy结合带来了开发测试效率的提升。

Spring Boot Actuator 则提供了一个我们能监控应用内部的运行状况的窗口。内嵌tomcat、jetty等容器,可直接启动应用程序而不需要外部的容器这些特性又为开发、调试运行和项目部署时带来巨大的便利和效率上的提升,Spring Boot 为开发,测试,部署,运维等层面带来了巨大变化,大大的简化了这些方面的复杂性,带来了效率的大幅提升,也为后面的微服务提供了基础。

原文地址:https://www.cnblogs.com/xiaoyao2011/p/9535194.html

时间: 2024-10-08 10:48:46

初识Spring Boot的相关文章

初识Spring Boot (Spring Boot配置文件)

其实作为一个新人呢,本来应该先学习一下Spring再学习SpringBoot的,但是由于个人不懂,就先学习了一下SpringBoot.所以就先记录一下吧,以后不懂得再补充. 1.了解Spring Boot 所谓的SpringBoot就是Spring,只是Spring的使用需要大量的配置才可以,而SpringBoot则是直接提供了这些大量的默认配置,大大减少了我们java码农的工作量:只用少量的配置就可以搭建一个Spring Boot应用. 我初学用的是Spring Boot2.0.4,该版本采用

Spring Boot + Jersey

Jersey是一个非常好的Java REST API库.当你用Jersey实现REST的时候,是非常自然的.同时Spring Boot是Java世界中另一个很好的工具,它减少了程序的应用配置(<初识Spring Boot>).这篇博客就介绍下如何将Jersey和Spring Boot结合起来使用. 需要注意的是Jersey本身自带了hk2这样一个DI库,所以,在结合Spring Boot使用的时候,是比较容易搞混淆的.简单的讲,你应该分清楚,哪一部分是由Spring来管理,哪一部分是由Jers

在Spring Boot框架下使用WebSocket实现消息推送

Spring Boot的学习持续进行中.前面两篇博客我们介绍了如何使用Spring Boot容器搭建Web项目(使用Spring Boot开发Web项目)以及怎样为我们的Project添加HTTPS的支持(使用Spring Boot开发Web项目(二)之添加HTTPS支持),在这两篇文章的基础上,我们今天来看看如何在Spring Boot中使用WebSocket. 什么是WebSocket WebSocket为浏览器和服务器之间提供了双工异步通信功能,也就是说我们可以利用浏览器给服务器发送消息,

Spring Boot面试杀手锏————自动配置原理

转:https://blog.csdn.net/u014745069/article/details/83820511 引言不论在工作中,亦或是求职面试,Spring Boot已经成为我们必知必会的技能项.除了某些老旧的政府项目或金融项目持有观望态度外,如今的各行各业都在飞速的拥抱这个已经不是很新的Spring启动框架. 当然,作为Spring Boot的精髓,自动配置原理的工作过程往往只有在“面试”的时候才能用得上,但是如果在工作中你能够深入的理解Spring Boot的自动配置原理,将无往不

【Spring Boot&amp;&amp;Spring Cloud系列】Spring Boot初识

一.Spring Boot优点 为Spring开发提供更加简单的使用和快速开发的技巧 具有开箱即用的默认配置功能,能根据项目依赖自动配置 具有功能更加强大的服务体系,包括嵌入式服务.安全.性能指标.健康检查等 绝对没有代码生成,可以不再需要XML配置,即可让应用更加轻巧和灵活 对于第三方技术的使用,提供了非常完美的整合 二.项目创建方式 使用Maven新建项目 使用Spring Initializr新建项目(参见之前的文章) 三.基本依赖配置 1 <parent> 2 <groupId&

Spring Boot 初识

发展到今天,spring已经是一个大家族了,如果想要使用其中的两到三个组件就会有多复杂的配置,有时候还有会版本不一致的错误,让人很无奈.于是,就有了spring Boot,spring  Boot  的创建 就是为了简化spring的配置.用了spring Boot 连web容器都不用配置,spring Boot支持常用的web 容器 Tomcat.Jetty等. 下面我们就来创建一个简单的spring Boot应用. 我用的是Idea,创建步骤就是  File -->New -->proje

Spring Boot 2 - 初识与新工程的创建

Spring Boot的由来 相信大家都听说过Spring框架. Spring从诞生到现在一直是流行的J2EE开发框架.随着Spring的发展,它的功能越来越强大,随之而来的缺点也越来越明显,以至于发展到后来变得越来越臃肿,使用起来也非常的麻烦.到后来由于过于强调配置的灵活性,有时即使只为了加入一个简单的特性,而需要相当多的XML配置,从而被人们诟病为"配置地狱"! 后来许多优秀的服务端框架涌现出来,比如基于JavaScript的nodeJS,基于Python的Django,Flask

spring boot actuator专题

spring-boot-starter-actuator模块的实现对于实施微服务的中小团队来说,可以有效地减少监控系统在采集应用指标时的开发量.当然,它也并不是万能的,有时候我们也需要对其做一些简单的扩展来帮助我们实现自身系统个性化的监控需求.下面,在本文中,我们将详解的介绍一些关于spring-boot-starter-actuator模块的内容,包括它的原生提供的端点以及一些常用的扩展和配置方式. /autoconfig:该端点用来获取应用的自动化配置报告,其中包括所有自动化配置的候选项.同

Spring Cloud+Spring Boot 自学01

>>>>>>主要内容:Spring Cloud+Spring Boot初识和spring boot环境搭建 >>>>>>欢迎大家指正,发送你的问题一起讨论! 简介: Spring Cloud: Spring Cloud是一个基于Spring Boot实现的微服务架构开发工具.它位微服务架构中涉及的配置管理. 服务治理.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状态 管理等操作提供了一种简单的开发方式. Sr