SpringBoot 连载(二) —— 场景启动器分析(附视频)

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> SpringBoot 连载(二) —— 场景启动器分析(附视频)


 上期我们对学习SpringBoot的环境要求以及软件要求做了简单介绍并做了一个HelloWorld的Demo.并提供了小编所使用的工具.如果上期没有看过的同学建议先通过下面的链接或关注公众号先看上一期的.

本期内容不长,但却非常重要,是我们理解和应用SpringBoot的重点,本文介绍了如下内容 :

1 : SpringBoot的场景启动器原理.

2 : 今后如何选择不同功能的场景启动器.

3 : 项目主程式注解表层解析.


 打开我们上一期项目的pom.xml,发现他已经有了一个父项目配置.如下:
SpringBoot 连载(二) : 场景启动器分析(附视频)

 在IDEA中,我们通过[ctrl+鼠标左键]点击artifactId进入到该父项目的pom.xml,发现我们的父项目也继承自其他项目,如下:
SpringBoot 连载(二) : 场景启动器分析(附视频)

同样通过[ctrl+鼠标左键]点击artifactId进入到该父项目的pom.xml中.

在该Pom.xml中找到[properties]标签.我们发现内含大量其他框架的版本.如下图(由于篇幅问题,在这里我们只截取了一小部分).

SpringBoot 连载(二) : 场景启动器分析(附视频)

 通过上面的配置我们可以看出,该项目是真正来管理SpringBoot应用中用到的框架版本依赖。故我们称之为SpringBoot版本仲裁中心.

 从上图可以看出在Spring场景启动器的父项目中已经为我们准备了足够多的我们今后可能用到的一些框架.而且他把版本都配置好了.所以今后我们的项目中如果有需要用到一些其他的框架,只需要在这里找到并引入到我们项目中的POM中就可以了.

公众号回复 [sbsters] 获取 SpringBoot 中不同场景启动器的配置.

通俗的方式来讲的话.我们分成两部分.

  • 场景 : 场景就是某一种场合,比如我们的去理发店,那理发店里面就有理发所需要的剪刀,吹风机等工具.同理我们的web项目就应该有web项目所需要的一些对象.比如Servlet,tomcat,servlet 控制器,JSON解析器等.
  • 启动器 : 顾名思义,就是一个这个场景的控制中心,这个单位的中心.
  • 
     在上期中我们使用SpringBoot创建了一个web项目.现在我们根据上期的web项目为例来讲解一下场景启动器.
    

    由于我们上期是一个web项目,所以当时我们导入了web项目用到的场景启动器.如下配置.

    SpringBoot 连载(二) : 场景启动器分析(附视频)
    
     我们同样通过[ctrl+鼠标左键]进入到该项目的pom.xml档中.拉到下面我们发现,在这个场景启动器中,已经配置了:
    

    1 : spring-boot-starter-json;

    2 : spring-boot-starter-tomcat;

    3 : hibernate-validator;

    4 : spring-web;

    5 : spring-webmvc;

    SpringBoot 连载(二) : 场景启动器分析(附视频)
    
     既如此,以上这5个基本的框架已经帮我组装起了一个基本WEB项目开发所需要的框架。所以我们就可以只导入一个场景启动器就去开发我们的功能.因为这个场景启动器已经帮我们组合好了我们需要的框架.
    

    在主程式(HelloworldApplication.java)中,他的类注解是:

    通俗的说,在SpringBoot项目中哪个类上面有这个注解,哪个类就是该项目的入口.

    点击进入SpringBootApplication标签我们发现他本身是一个组合注解.

    如下图.

    SpringBoot 连载(二) : 场景启动器分析(附视频)

    用来标记某个类是SpringBoot的配置类

    开启自动扫描.扫描含有Spring注解的类文件; 

    知识点:他将SpringBoot主配置类以及主配置类所在包及子包下的所有组件都扫描到Spring容器中.所以我们才不需要再像SpringMVC中那样指定我们需要扫描类的包位置,因为是以该类为根目录进行扫描的.

    此次我们简单明了的讲解的SpringBoot场景启动器以及为什么我们不需要再像以前那样去配置扫描包的路径.内容不多,但却足够吸收掌握.希望大家可以真正看懂本期的内容.下期我们继续SpringBoot的讲解.欢迎持续关注.

    原创不易,点个赞分享出去吧.感谢支持.

    公众号回复

    [sbd]   : 上期的Demo程式.

    [sbsw] :小编所用的JDK,Maven,IDEA.

    [2037] :下载小编所看的SpringBoot视频.

    原创不易,点个赞分享出去吧.感谢支持.

    SpringBoot 连载(二) : 场景启动器分析(附视频)
    本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

    本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

    原文链接:blog.ouyangsihai.cn >> SpringBoot 连载(二) —— 场景启动器分析(附视频)


     上一篇
    SpringBoot 连载(一) —— 从环境建置到打包上线(附视频) SpringBoot 连载(一) —— 从环境建置到打包上线(附视频)
    从本篇开始,我将以初学者的身份也开始学习SpringBoot框架。希望对 SpringBoot 这个框架有兴趣的同学可以一起参与进来与小编同步学习. 微服务架构 SpringBoot是由Pivotal团队提供的全新框架,其设计目的
    2021-04-05
    下一篇 
    SpringBoot 连载(三) —— 修改默认配置以及使用yml SpringBoot 连载(三) —— 修改默认配置以及使用yml
    上两期我们讲了SpringBoot环境搭建,HelloWorld问世,打包运行,以及表层解释了非常重要的SpringBoot场景启动器.没有看过的同学可以通过下面的链接去看一下上两期的内容. 聊一下如何修改SpringBoot的一些默
    2021-04-05