一、简介

  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. R语言常用基础知识(入门)

    data.frame 动态确定列名称 var <- "mpg" #Doesn't work mtcars$var #These both work, but note tha ...

  2. USB2.0学习笔记连载(四):安装Cypress官网套件

    上一篇博客大概讲了一下USB通用驱动程序的解析.笔者使用Cypress官网给定的资料去完成USB驱动开发.官网资料地址:http://www.cypress.com/?rID=14321 下载如下图的 ...

  3. hashMap 根据已有知识知道的

    public V put(K key, V value) { //假如table为空 if (table == EMPTY_TABLE) { inflateTable(threshold); } // ...

  4. 关于Unity中的光照(二)

    光源 1: 光照的本质:就是光的颜色和物体纹理的颜色的混合;2: 光源类型: 点光源,定向光源,聚光灯, 区域光源; 区域光的范围会在场景中用黄色的光显示出来; z轴是光的方向; 光的强度会随距离衰减 ...

  5. 关于Unity中坐标系的种类

    坐标空间 1:物体空间: 3D物体自己的坐标空间 一般设计时几何体以中心为原点,人物以双脚为原点; 2: 世界空间: 3D物体在场景中的世界坐标, 整个游戏场景的空间; 3: 摄像机空间: 以观察摄像 ...

  6. c数组

    一维数组 有三种赋值方式 1.原始的赋值 2. 初始化赋值 3.动态赋值 数组的花式玩法 void main() { ] = {, , , , , , , , , }; test(a); putcha ...

  7. C++ 模板 template

    #include <iostream> using namespace std; /* 模板的作用: 1. 不用声明类型, 传什么进来就是什么类型, 返回也是什么类型 2. 方法封装起来, ...

  8. (转)TCP连接异常断开检测

    TCP是一种面向连接的协议,连接的建立和断开需要通过收发相应的分节来实现.某些时候,由于网络的故障或是一方主机的突然崩溃而另一方无法检测到,以致始终保持着不存在的连接.下面介绍一种方法来检测这种异常断 ...

  9. keystone源码分析(一)——Paste Deploy的应用

    本keystone源码分析系列基于Juno版Keystone,于2014年10月16日随Juno版OpenStack发布. Keystone作为OpenStack中的身份管理与授权模块,主要实现系统用 ...

  10. Git 基础 - 远程仓库的使用

    远程仓库的使用 要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某个项目时,需要管 ...