转载

SpringBoot启动器Starters使用及原理解析

Starters是什么

Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其他技术,而不需要到处找示例代码和依赖包。如你想使用Spring JPA访问数据库,只要加入spring-boot-starter-data-jpa启动器依赖就能使用了。

Starters命名规则

Spring Boot官方的启动器都是以spring-boot-starter-命名的,代表了一个特定的应用类型。第三方的启动器不能以spring-boot开头命名,它们都被Spring Boot官方保留。一般一个第三方的应该这样命名,像mybatis的mybatis-spring-boot-starter。

启动器种类

Spring Boot应用启动器基本的一共有N(现知道的是44)种:具体如下:

spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。

spring-boot-starter-actuator 帮助监控和管理应用。

spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议。

spring-boot-starter-aop 支持面向方面的编程即AOP,包括spring-aop和AspectJ。

spring-boot-starter-artemis 通过Apache Artemis支持JMS的API(Java Message Service API)。

spring-boot-starter-batch 支持Spring Batch,包括HSQLDB数据库。

spring-boot-starter-cache 支持Spring的Cache抽象。

spring-boot-starter-cloud-connectors 支持Spring Cloud Connectors,简化了在像Cloud Foundry或Heroku这样的云平台上连接服务。

spring-boot-starter-data-elasticsearch 支持ElasticSearch搜索和分析引擎,包括spring-data-elasticsearch。

spring-boot-starter-data-gemfire 支持GemFire分布式数据存储,包括spring-data-gemfire。

spring-boot-starter-data-jpa 支持JPA、包括spring-data-jpa、spring-orm、Hibernate。

spring-boot-starter-data-mongodb 支持MongoDB数据,包括spring-data-mongodb。

spring-boot-starter-data-rest 支持通过REST暴露Spring Data数据仓库。

spring-boot-starter-data-solr 支持Apache Solr搜索平台,包括spring-data-solr。

spring-boot-starter-freemarker 支持FreeMarker模板引擎。

spring-boot-starter-groovy-templates 支持Groovy模板引擎。

spring-boot-starter-hateoas 通过spring-hateoas支持基于HATEOAS的RESTful Web服务。

spring-boot-starter-hornetq 通过HornetQ支持JMS。

spring-boot-starter-integration 支持通用的spring-integration模块。

spring-boot-starter-jdbc 支持JDBC数据库。

spring-boot-starter-jersey 支持Jersey RESTful Web服务框架。

spring-boot-starter-jta-atomikos 通过Atomikos支持JTA分布式事务处理。

spring-boot-starter-jta-bitronix 通过Bitronix支持JTA分布式事务处理。

spring-boot-starter-mail 支持javax.mail模块。

spring-boot-starter-mobile 支持spring-mobile。

spring-boot-starter-mustache 支持Mustache模板引擎。

spring-boot-starter-redis 支持Redis键值存储数据库,包括spring-redis。

spring-boot-starter-security 支持spring-security。

spring-boot-starter-social-facebook 支持spring-social-facebook

spring-boot-starter-social-linkedin 支持pring-social-linkedin

spring-boot-starter-social-twitter 支持pring-social-twitter

spring-boot-starter-test 支持常规测试依赖,包括JUnit、Hamcrest、Mockito、spring-test模块。

spring-boot-starter-thymeleaf 支持Thymeleaf模板引擎,包括与Spring的集成。

spring-boot-starter-velocity 支持Velocity模板引擎。

spring-boot-starter-web 支持全栈式Web开发,包括Tomcat和spring-webmvc。

spring-boot-starter-websocket 支持WebSocket开发。

spring-boot-starter-ws 支持Spring Web Services。

Spring Boot应用启动器面向生产环境的还有2种,具体如下:

spring-boot-starter-actuator 增加了面向产品上线相关的功能,比如测量和监控。

spring-boot-starter-remote-shell 增加了远程ssh shell的支持。

最后,Spring Boot应用启动器还有一些替换技术的启动器,具体如下:

spring-boot-starter-jetty 引入了Jetty HTTP引擎(用于替换Tomcat)。

spring-boot-starter-log4j 支持Log4J日志框架。

spring-boot-starter-logging 引入了Spring Boot默认的日志框架Logback。

spring-boot-starter-tomcat 引入了Spring Boot默认的HTTP引擎Tomcat。

spring-boot-starter-undertow 引入了Undertow HTTP引擎(用于替换Tomcat)。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间:2020-04-07

SpringBoot启动应用及回调监听原理解析

这篇文章主要介绍了SpringBoot启动应用及回调监听原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 主类Main方法 public static void main(String[] args) { SpringApplication.run(SpringBootRunApplication.class, args); } 创建SpringApplication对象 public static ConfigurableApplica

Linux启动与停止spring boot工程的脚本示例

在springboot项目启动有三种方式: 1.运行主方法程序 2.使用命令mvn spring-boot:run 在命令行运行 3.使用 mvn packpage打包位jar文件以后,使用java -jar yourapp.jar命令行运行 一般我们在开发的时候经常使用的是前面两种运行方式,在部署实施的时候使用的第三种方式,下面我们就重点说明下载linux环境中运行和停止springboot项目的指令和脚本: 一.指令 nohup 不挂断运行指令 一般在linux中可以直接使用: java -

SpringBoot启动后启动内嵌浏览器的方法

1.下载内嵌浏览器Jar包 下载地址:点击下载 2.项目下加入对应jar:然后右键:Add as Library... 3.添加启动项目后事件 效果:内嵌浏览器打开指定页面,全屏 import com.teamdev.jxbrowser.chromium.Browser; import com.teamdev.jxbrowser.chromium.swing.BrowserView; import org.springframework.boot.ApplicationArguments; im

SpringBoot如何取消内置Tomcat启动并改用外接Tomcat

这篇文章主要介绍了SpringBoot如何取消内置Tomcat启动并改用外接Tomcat,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1,修改pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 去除内嵌t

Spring Boot Starters简介及其优劣势

简介 在启动任何项目(无论是小型项目还是企业级应用程序)之前,其中关键的方面之一是依赖管理,手动为小型应用程序执行依赖管理并不是一项困难的工作,但对于复杂的应用程序,手动管理所有项目依赖并不理想,容易出现许多问题以及浪费时间,而这些时间可以用于项目的其他一些重要方面. Spring Boot背后的基本原理之一就是解决类似的问题.Spring Boot Starter是一套方便的依赖描述符,可以很容易地包含在任何级别的应用程序中.这些Starters作为Spring相关技术的引导过程,我们 不再需

超个性修改SpringBoot项目的启动banner的方法

如果我们使用过SpringBoot,那么就会对下面的图案不陌生.Springboot 启动的同时会打印下面的图案,并带有版本号. 查看SpringBoot官方文档可以找到关于 banner 的描述 The banner that is printed on start up can be changed by adding a banner.txt file to your classpath or by setting the spring.banner.location property t

浅谈springboot的三种启动方式

有段时间没有写博客了,也在努力的从传统单机开发向分布式系统过度,所以再次做一些笔记,以方便日后查看. 直接进入正题吧,今天记录spring-boot项目的三种启动方式. spring-boot的启动方式主要有三种: 1. 运行带有main方法类 2. 通过命令行 java -jar 的方式 3. 通过spring-boot-plugin的方式 一.执行带有main方法类 这种方式很简单,我主要是通过idea的方式,进行执行.这种方式在启动的时候,会去自动加载classpath下的配置文件 (这里

浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序

在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} Function()构造函数: var fnMethodName = new Function('x','alert(x);') // 由Function构造函数的参数个数可变.最后一个参数写函数体

浅谈iOS中三种生成随机数方法

ios 有如下三种随机数方法: //第一种 srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; //第二种 srandom(time(0)); int i = random() % 5; //第三种 int i = arc4random() % 5 ; 注: ① rand()和random()实际并不是一个真正的伪随机数发生器,在使用之前需要先初始化随机种子,否则每次生成的随机数一样. ② arc4random() 是一个

浅谈js中的三种继承方式及其优缺点

第一种,prototype的方式: //父类 function person(){ this.hair = 'black'; this.eye = 'black'; this.skin = 'yellow'; this.view = function(){ return this.hair + ',' + this.eye + ',' + this.skin; } } //子类 function man(){ this.feature = ['beard','strong']; } man.pr

浅谈Spring的两种事务定义方式

一.声明式 这种方法不需要对原有的业务做任何修改,通过在XML文件中定义需要拦截方法的匹配即可完成配置,要求是,业务处理中的方法的命名要有规律,比如setXxx,xxxUpdate等等.详细配置如下: <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="

浅谈Java的两种多线程实现方式

SpringBoot启动器Starters使用及原理解析

本文介绍了浅谈Java的两种多线程实现方式,分享给大家.具有如下: 一.创建多线程的两种方式 Java中,有两种方式可以创建多线程: 1 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2 通过实现Runnable接口,实例化Thread类 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程.当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下这两种方式实现的两种结果. 程序1

浅谈android性能优化之启动过程(冷启动和热启动)

本文介绍了浅谈android性能优化之启动过程(冷启动和热启动) ,分享给大家,具体如下: 一.应用的启动方式 通常来说,启动方式分为两种:冷启动和热启动. 1.冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动. 2.热启动:当启动应用时,后台已有该应用的进程(例:按back键.home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,这个方式叫热

浅谈Spring的两种配置容器

Spring提供了两种容器类型 SpringIOC容器是一个IOC Service Provider.提供了两种容器类型:BeanFactory和ApplicationContext.Spring的IOC容器是一个提供IOC支持的轻量级容器.除了基本的ioc支持,它作为轻量级容器还提供了IOC之外的支持. BeanFactory BeanFactory是基础类型IOC容器.顾名思义,就是生产Bean的工厂.能够提供完整的IOC服务.没有特殊指定的话,其默认采用延迟初始化策略.只有当客户端对象需要

浅谈Java中几种常见的比较器的实现方法

在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题. 通常对象之间的比较可以从两个方面去看: 第一个方面:对象的地址是否一样,也就是是否引用自同一个对象.这种方式可以直接使用"=="来完成. 第二个方面:以对象的某一个属性的角度去比较. 从最新的JDK8而言,有三种实现对象比较的方法: 一.覆写Object类的equals()方法: 二.继承Comparable接口,并实现compareTo()方法: 三.定义一个单独的对象比较器,继承自Comparator接口

浅谈线程的几种可用状态

SpringBoot启动器Starters使用及原理解析

1. 新建( new ):新创建了一个线程对象. 2. 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法.该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 . 3. 运行( running ):可运行状态( runnable )的线程获得了 cpu 时间片( timeslice ) ,执行程序代码. 4. 阻塞( block ):阻塞状态是指线程因为某种原因放弃了 cpu 使用权,也即让出了 cpu

浅谈vim的四种模式及模式切换

vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模式. vim一共有4个模式: • 正常模式 (Normal-mode) • 插入模式 (Insert-mode) • 命令模式 (Command-mode) • 可视模式 (Visual-mode) 正常模式 启动vim后默认处于正常模式.不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式. 插入模式 在正常模式中按下i, I, a, A等键,会进入插入模式.现在只用记住按i键会进行插入模式.在插入模

原文  https://www.zhangshengrong.com/p/LKa40qnZaQ/
正文到此结束
Loading...