什么是spring boot?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jnshu_it/article/details/84258578

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

什么是spring boot?

大家好,我是IT修真院北京分院第27期的JAVA学员,一枚正直纯洁善良的java程序员。

今天给大家分享一下,修真院官网Java任务10,深度思考中的知识点—什么是spring boot?

1.背景介绍

本篇小课堂向大家介绍一下Springboot以及其简单应用。

Spring Boot是由Pivotal团队提供的基于Spring4 的条件注册的一套快速开发整合包,其设计目的是用来简化新Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,SpringBoot 提供了基于spring 的各种starter(传感器)的快速启动。

2.知识剖析

Springboot将很多魔法带入了Spring应用程序的开发之中,其中最重要的是以下四个核心。 
自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置 
起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。 
命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。 
Actuator:让你能够深入运行中的Spring Boot应用程序,一探究竟。

 

3.常见问题

1:SpringBoot和Spring的关系?

2:Spring-boot-starter是什么?

3:SpringBoot中如何配置属性?

4.解决方案

1:SPRINGBOOT和SPRING的关系?

spring就好比一个大型的电子元件生产公司,它生产的元件性能都很优秀,但是坊间使用它的元件的作坊,拿到手之后 还得搞一些电焊,衔接,可能要花个10天半个月最后做成一个家电或者机器人。有一天这个公司就宣布,我们现在提供 了一些功能模块,比如摄像头传感器,扩音器传感器,压力传感器,它们都是统一的usb接口的,只需要插线连接就能使用了。

Spring Boot没有引入任何形式的代码生成,而是利用了Spring 4的条件化配置特性, 以及Maven和Gradle提供的传递依赖解析,以此实现Spring应用程序上下文里的自动配置。 简而言之,从本质上来说,Spring Boot就是Spring,它做了那些没有它你自己也会去做的Spring Bean配置。有了Spring Boot,你不用再写这些样板配置了,可以专注于应用程序的逻辑, 这些才是应用程序独一无二的东西。

2:SPRING-BOOT-STARTER是什么?

Spring-boot-starter是spring提供的针对日常企业应用开发各种场景的自动依赖模块,就像是一个工具箱,装好了你需要的各种工具(依赖),“开箱即用”使得开发各种场景的spring应用更加迅捷

3:SPRINGBOOT中如何配置属性?

实际上,Spring Boot应用程序有多种设置途径。Spring Boot能从多种属性源获得属性,包括 如下几处。 (1) 命令行参数 (2) java:comp/env里的JNDI属性 (3) JVM系统属性 (4) 操作系统环境变量 (5) 随机生成的带random.*前缀的属性(在设置其他属性时,可以引用它们,比如${random. long}) (6) 应用程序以外的application.properties或者appliaction.yml文件 (7) 打包在应用程序内的application.properties或者appliaction.yml文件 (8) 通过@PropertySource标注的属性源 (9) 默认属性 这个列表按照优先级排序,也就是说,任何在高优先级属性源里设置的属性都会覆盖低优先 级的相同属性。例如,命令行参数会覆盖其他属性源里的属性。

5.编码实战

详见视频

6.扩展思考

SpringBoot启动原理?

SpringBoot是如何实现自动配置的?

7.    参考文献

参考一:《SpringBoot实战》

参考二:《SpringBoot揭秘:快速构建微服务体系》

8.    更多讨论

Q1:SpringBoot怎么使用mybatis?
A1:引入依赖,配置数据源,连接池,其他的和SSM框架差不多;


Q2:怎么使用使用Jetty替代Tomcat?
A2:Spring Boot starters(特别是spring-boot-starter-web)默认都是使用Tomcat作为内嵌容器的。你需要排除那些Tomcat的依赖并包含Jetty的依赖。为了让这种处理尽可能简单,Spring Boot将Tomcat和Jetty的依赖捆绑在一起,然后提供单独的starters。 


Q3:什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
A3:思考一下在你的虚拟机上部署应用程序需要些什么。

第一步: 安装 Java

第二部: 安装 Web 或者是应用程序的服务器(Tomat/Wbesphere/Weblogic 等等)

第三部: 部署应用程序 war 包

如果我们想简化这些步骤,应该如何做呢?

让我们来思考如何使服务器成为应用程序的一部分?

你只需要一个安装了 Java 的虚拟机,就可以直接在上面部署应用程序了,
是不是很爽?

这个想法是嵌入式服务器的起源。

当我们创建一个可以部署的应用程序的时候,我们将会把服务器(例如,tomcat)嵌入到可部署的服务器中。

例如,对于一个 Spring Boot 应用程序来说,你可以生成一个包含 Embedded Tomcat 的应用程序 jar。你就可以想运行正常 Java 应用程序一样来运行 web 应用程序了。

嵌入式服务器就是我们的可执行单元包含服务器的二进制文件(例如,tomcat.jar)。

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

PPT链接 视频链接

更多内容,可以加入IT交流群565734203与大家一起讨论交流

这里是技能树·IT修真院:https://www.jnshu.com,初学者转行到互联网的聚集地

猜你喜欢

转载自blog.csdn.net/jnshu_it/article/details/84258578