一、简介

  Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题---习惯大于约定。

  Spring Boot默认使用tomcat作为服务器,使用logback提供日志记录。

  Spring Boot提供了一系列的依赖包,所以需要构建工具的支持:maven 或 gradle。

二、Springboot启动器

  1)spring-boot-starter         这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。
  2)spring-boot-starter-actuator     帮助监控和管理应用。
  3)spring-boot-starter-amqp      通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。
  4)spring-boot-starter-aop            支持面向方面的编程即AOP,包括spring-aop和AspectJ。
  5)spring-boot-starter-artemis      通过Apache Artemis支持JMS的API(Java Message Service API)。
  6)spring-boot-starter-batch         支持Spring Batch,包括HSQLDB数据库。
  7)spring-boot-starter-cache      支持Spring的Cache抽象。
  8)spring-boot-starter-cloud-connectors     支持Spring Cloud Connectors,简化了在像Cloud Foundry或Heroku这样的云平台上连接服务。
  9)spring-boot-starter-data-elasticsearch   支持ElasticSearch搜索和分析引擎,包括spring-data-elasticsearch。
  10)spring-boot-starter-data-gemfire   支持GemFire分布式数据存储,包括spring-data-gemfire。
  11)spring-boot-starter-data-jpa     支持JPA(java Persistence API),包括spring-data-jpa、spring-orm、hibernate。
  12)spring-boot-starter-data-MongoDB  支持mongodb数据,包括spring-data-mongodb。
  13)spring-boot-starter-data-rest       通过spring-data-rest-webmvc,支持通过REST暴露Spring Data数据仓库。
  14)spring-boot-starter-data-solr       支持Apache Solr搜索平台,包括spring-data-solr。
  15)spring-boot-starter-freemarker      支持FreeMarker模板引擎。
  16)spring-boot-starter-groovy-templates 支持Groovy模板引擎。
  17)spring-boot-starter-hateoas      通过spring-hateoas支持基于HATEOAS的RESTful Web服务。
  18)spring-boot-starter-hornetq       通过HornetQ支持JMS。
  19)spring-boot-starter-integration       支持通用的spring-integration模块。
  20)spring-boot-starter-jdbc          支持JDBC数据库。
  21)spring-boot-starter-jersey       支持Jersey RESTful Web服务框架。
  22)spring-boot-starter-jta-atomikos    通过Atomikos支持JTA分布式事务处理。
  23)spring-boot-starter-jta-bitronix       通过Bitronix支持JTA分布式事务处理。
  24)spring-boot-starter-mail            支持javax.mail模块。
  25)spring-boot-starter-mobile        支持spring-mobile。
  26)spring-boot-starter-mustache      支持Mustache模板引擎。
  27)spring-boot-starter-Redis          支持redis键值存储数据库,包括spring-redis。
  28)spring-boot-starter-security       支持spring-security。
  29)spring-boot-starter-social-facebook  支持spring-social-facebook
  30)spring-boot-starter-social-linkedin    支持pring-social-linkedin
  31)spring-boot-starter-social-twitter    支持pring-social-twitter
  32)spring-boot-starter-test        支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块。
  33)spring-boot-starter-thymeleaf        支持Thymeleaf模板引擎,包括与Spring的集成。
  34)spring-boot-starter-velocity       支持Velocity模板引擎。
  35)spring-boot-starter-web       支持全栈式Web开发,包括Tomcat和spring-webmvc。
  36)spring-boot-starter-websocket       支持WebSocket开发。
  37)spring-boot-starter-ws         支持Spring Web Services。

三、Springboot注解

  @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。
  @Configuration 等同于spring的XML配置文件;使用Java代码可以检查类型安全。
  @EnableAutoConfiguration 自动配置。
  @ComponentScan 组件扫描,可自动发现和装配一些Bean。
  @Component可配合CommandLineRunner使用,在程序启动后执行一些基础任务。
  @RestController注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。
  @Autowired自动导入。
  @PathVariable获取参数。
  @JsonBackReference解决嵌套外链问题。
  @RepositoryRestResourcepublic配合spring-boot-starter-data-rest使用。
  @EnableAutoConfiguration:Spring Boot自动配置(auto-configuration):尝试根据你添加的jar依赖自动配置你的Spring应用。例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。你可以将@EnableAutoConfiguration或者@SpringBootApplication注解添加到一个@Configuration类上。这个注释告诉SpringBoot“猜”你将如何想配置Spring,基于你已经添加jar依赖项。如果spring-boot-starter-web已经添加Tomcat和Spring MVC,这个注释自动将假设您正在开发一个web应用程序并添加相应的spring设置。动配置被设计用来和“Starters”一起更好的工作,但这两个概念并不直接相关。您可以自由挑选starter依赖项以外的jar包,springboot仍将尽力自动配置您的应用程序。

  @Bean:相当于XML中的bean,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理。

SpringBoot(一)-- 知识点介绍的更多相关文章

  1. SpringBoot常用Starter介绍和整合模板引擎Freemaker、thymeleaf 4节课

    1.SpringBoot Starter讲解 简介:介绍什么是SpringBoot Starter和主要作用 1.官网地址:https://docs.spring.io/spring-boot/doc ...

  2. Springboot学习:介绍与HelloWorld

    1. 什么是 Spring boot Spring Boot来简化Spring应用开发,约定大于配置,去繁从简,just run就能创建一个独立的,产品级别的应用 整个Spring技术栈的一个大整合 ...

  3. Spring和Springboot相关知识点整理

    简介 本文主要整理一些Spring & SpringBoot应用时和相关原理的知识点,对于源码不做没有深入的讲解. 1. 思维导图 右键新窗口打开可以放大. 说明 使用@Configurati ...

  4. c语言学习之基础知识点介绍(十):数组

    本节主要介绍数组. 一.数组 /* 数组:一个变量可以存n个变量. 语法:类型 数组名[长度(正整数)]; 例如:int score[5];//定义了一个int类型的数组,长度为5,可以保存5个数据. ...

  5. c语言学习之基础知识点介绍(七):循环结构

    本节主要介绍循环结构 一.while循环 /* 语法: while(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条 ...

  6. c语言学习之基础知识点介绍(三):scanf函数

    本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例 ...

  7. c语言学习之基础知识点介绍(二):格式化控制符和变量的补充

    上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的 ...

  8. (一)SpringBoot基础篇- 介绍及HelloWorld初体验

    1.SpringBoot介绍: 根据官方SpringBoot文档描述,BUILD ANYTHING WITH SPRING BOOT (用SPRING BOOT构建任何东西,很牛X呀!),下面是官方文 ...

  9. SpringBoot项目结构介绍

    一项目结构介绍 springboot框架本身对项目结构并没有特别的要求,但是按照最佳的项目结构可以帮助我们减少可能遇到的错误问题.结构如下: (1)应用主类SpringbootApplication应 ...

随机推荐

  1. (通用)Android App代码混淆终极解决方案【转】

    App虽然没有那么的高大上,但是代码的混淆是代表了程序员对App的责任心, 也是对App安全的一点点保证.今天我会将自己做Android混淆的过程和体会分享给大家,也避免大家少走弯路,少跳坑. 本篇博 ...

  2. C语言中二维字符数组的定义和初始化

    本篇日志关于二维字符数组的定义和初始化.我相信这篇文章属于菜鸟级的,高手请直接无视. 一般来说,我们可能会希望定义一个二维字符数组并且在定义的时候就用一些字符串来初始化它.比如说: ][MAX_LEN ...

  3. Android 8 wifi 扫描时间间隔

    wifi setting界面扫描时间间隔:10s 不在wifi setting界面,扫描时间间隔,最小20s,然后按找2倍的间隔进行递增,40s,60s..., 最大160s PNO 即Preferr ...

  4. 对C语言中指针的入门理解

    通过一个例子引出对指针的概念理解 1,例子 #include<stdio.h> int main(void) { ; //小张的身高 ; //小李的身高 ; //小王的身高 int *xi ...

  5. CentOS7使用firewalld打开关闭防火墙与端口[转]

    转自:http://www.cnblogs.com/moxiaoan/p/5683743.html1.firewalld的基本使用启动: systemctl start firewalld查看状态: ...

  6. (弃)解读Openstack Identity API v2.0

    目前OpenStack社区提供了详尽的API文档,并配有丰富的说明和示例,关于Identity API v2查看这里, 关于Identity API v3请查看这里. 尽管现在官方已经不建议OpenS ...

  7. FusionCancer-人类癌症相关的融合基因的数据库

    RNA-seq 测序可以用于融合基因的发现,在过去的十几年里,RNA-seq 测序数据不断增加,发现的融合基因的数据也不断增加: FusionCancer 是一个人类癌症相关的融合基因的数据库,利用N ...

  8. Linux网卡eth0变成eth1修改方法

    由于换了主板,集成网卡mac地址变了,70-persistent-net.rules中仍然保留了老网卡的内容,新网卡则被识别为eth1. 将表示老网卡的行注释掉,然后将表示新网卡的行中eth1改成et ...

  9. EXP 导出出错解决方案

    前言: 今天想要把 当前用户下的数据库 导出来,使用命令 导出数据库可用语句: exp bpmp/bkc123@127.0.0.1:5050/bkcyunty file=D:\bak\db_61.dm ...

  10. nginx搭建(centos7)

    1.安装前准备: 系统: CentOS 7.5 x64 下载包:wget yum -y install wget 安装: 2.安装一下这些依赖条件: yum install gcc pcre pcre ...