Hello World细节-场景启动器(starter)|学习笔记

简介: 快速学习Hello World细节-场景启动器(starter)

开发者学堂课程【SpringBoot快速掌握 - 核心技术:Hello World细节-场景启动器(starter) 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/612/detail/9218


Hello World细节-场景启动器(starter)

内容介绍

一、pom文件

二、总结

 

一、POM文件:

在 pom 文件里,导入了相关依赖,这些依赖导入了很多  jar  包,首先这里应该有一个  parent 。

1.父项目

导入了一个父项目, boot-starter-parent,Sprintboot 所有 starter 的父项目,主是用来做依赖管理,父项目还依赖一个父项目,他的父项目是:

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-dependencies</artifactId>

<version>1.5.12.RELEASE</version>

<relativePath>../../spring-boot-dependencies</relativePath>

</parent>

properties 属性里面有一个 Dependency versions ,定义了每一个依赖的版本,比如 activemq 的依赖,包括做切面的 aspect 的版本号, 都做了依赖管理。它是来管理 Spring Boot 应用里面的所有依赖版本,管理所有的这些依赖,也可以称为 Springboot 的版本

有了仲裁中心,导入依赖,默认是不需要写版本的,MYSQL驱动默认是不需要写版本的,包括所有的版本

依赖都在 dependecy 里面,没有在 dependency 管理的,要写版本,需要声明版本号,这个是第一个版本仲裁。                

2、导入的依赖

父项目只是作为一个版本仲裁,除了依赖这个父项目以外,还有一个 stater-web ,导入了一个依赖

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

spring-boot-starter-web :

导入了这个依赖,此依赖也没有写版本号,因为 SpringtBoot 进行了自动仲裁,然后他被命名为 spring-boot-starter-web ,把它拆分成两个词,一个是 sprint-boot-starter, 一个是 web 。

帮助导入了 web 模块正常运行所依赖的组件,场景启动器当使用 web 模块的时候,他会来帮助导入相关的 web 模块,

依赖的版本通过父项目进行仲裁,而在 Springboot 里面,还有更多的类似启动器,可以参考 springboot 的官方文档,

https://docs.spring.io/spring-boot/docs/1.5.22.RELEASE/reference/html/using-boot-build-systems.html

#using-boot-starter

搜索一下 Starters

Starters are a set of convenient dependency descriptors that you can include in your application.

我们就会获得相应的依赖, spring-boot 将所有的功能,都抽取出来了一个个场景,如我们要使用 activemq ,那么就有 activemq 的启动器,

如果要用 amqp 高级消息队列,就有这个启动器,如果要做 aop 功能,就导入这个启动器,比如要做数据 jpa 访问,

spring-boot-starter-activemq

spring-boot-starter-amqp

spring-boot-starter-aop

spring-boot-starter-data-jpa

如果左数据访问的 redis 模块, spring-boot-starter-data-redis

导入这个数据,如果要进行邮件开发,就导入 spring-boot-starter-mail 。如果要进行 web 开发,就导入 spring-boot-starter-web

 

二、总结

Sprintboot 将所有的功能场景,都抽取出来,然后做成一个个的 starters ,称之为启动器,用户只需要在项目里面,引入这些 starter ,相关

场景的所有依赖,都会导入进来,而且版本由 springboot 进行自动控制,用户要用某一个功能,就导什么场景,用户就不需要交依赖了,就叫启动器,使用此功能以后,每一种场景, sprintboot 都会帮助用户考虑,不需要导入这个启动器,应用就可以运行,用户点击就有 pom 文件来描述。


相关文章
|
6月前
|
Java 应用服务中间件 Maven
Springboot入门基础知识详解 parent starter 引导类 辅助功能
Springboot入门基础知识详解 parent starter 引导类 辅助功能
52 2
|
6月前
|
Java Maven Spring
第一个Spring程序(代码篇)
第一个Spring程序(代码篇)
29 1
|
Java Spring 容器
Spring Boot入门(十五) 之 国际化操作(页面的中英文相互切换)
Spring Boot入门(十五) 之 国际化操作(页面的中英文相互切换)
791 0
|
Java Maven 开发者
从零开始的Spring Boot自动配置学习和starter制作教程
从零开始的Spring Boot自动配置学习和starter制作教程
160 0
从零开始的Spring Boot自动配置学习和starter制作教程
|
XML Java 数据格式
如何实现一个自定义的starter
SpringFactoriesLoader加载器加载指定ClassLoader下面的所有的META-INF/spring.factories文件,并将文件解析内容存在Map&lt;string,list&gt;中。然后通过loadFactoryNames传递过来的class的名称从map中获取该类的配置列表。通过Set集合进行去重操作。执行过滤组件操作,而这些操作都是在AutoConfigurationImportFilter接口下的组件实现的,也即FilterSpringBootCondition实现抽象类的。下面有OnBeanCondition、OnClassCondition、OnWebApplic
36827 5
如何实现一个自定义的starter
|
SpringCloudAlibaba NoSQL Java
1.1 w字,18 张图,彻底说透 springboot starter 机制
1.1 w字,18 张图,彻底说透 springboot starter 机制
778 1
1.1 w字,18 张图,彻底说透 springboot starter 机制
|
前端开发 Java uml
Spring官网阅读(十五)Spring中的格式化(Formatter)
在上篇文章中,我们已经学习过了Spring中的类型转换机制。现在我们考虑这样一个需求:在我们web应用中,我们经常需要将前端传入的字符串类型的数据转换成指定格式或者指定数据类型来满足我们调用需求,同样的,后端开发也需要将返回数据调整成指定格式或者指定类型返回到前端页面。这种情况下,Converter已经没法直接支撑我们的需求了。这个时候,格式化的作用就很明显了,这篇文章我们就来介绍Spring中格式化的一套体系。本文主要涉及官网中的3.5及3.6小结
311 0
Spring官网阅读(十五)Spring中的格式化(Formatter)
|
Java Spring
Spring自定义属性编辑器及原理解释.md
Spring自定义属性编辑器及原理解释.md
|
NoSQL Java Redis
sbc(三)自定义Starter-SpringBoot重构去重插件(中)
之前看过SSM(十四) 基于annotation的http防重插件的朋友应该记得我后文说过之后要用SpringBoot来进行重构。 这次采用自定义的starter的方式来进行重构。