一、简介

  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管理。

最新文章

  1. 跟随 Web 标准探究DOM -- Node 与 Element 的遍历
  2. Vue2.X的路由管理记录之 钩子函数(切割流水线)
  3. 在Windows Server 2012的Task Scheduler里面配置自动发送邮件
  4. “代理 XP”组件已作为此服务器安全配置的一部分被关闭。解决方法
  5. 【M30】代理类
  6. 【C++之STL】理解容器(ing)
  7. 【 HDU 1255】 覆盖的面积(矩阵面积交,线段树,扫描法)
  8. C++输出中文字符(转)
  9. 【JAVASCRIPT】json 与 string
  10. 开源纯C#工控网关+组态软件(六)图元组件
  11. JDK1.8源码(八)——java.util.HashSet 类
  12. Shovel Sale CodeForces - 899D (数位dp)
  13. js实现选中div内容并复制到剪切板
  14. Git merge 不同的branch
  15. 【对比分析四】position的absolute与fixed共同点与不同点
  16. ELK 性能(4) — 大规模 Elasticsearch 集群性能的最佳实践
  17. c#:对两个字符串大小比较(不使用c#/java内部的比较函数),按升序排序
  18. HTML节点树
  19. csu 1555(线段树经典插队模型-根据逆序数还原序列)
  20. 小K的农场(差分约束,spfa)

热门文章

  1. Java finally语句是在try或catch的retrurn之前还是之后执行
  2. JSP之静态include指令、动态Include指令
  3. 【转】android如何实现开机自动启动Service或app
  4. Zend Framework2 入门教程(转)
  5. Java如何以短格式显示月份?
  6. JDBC SQL语法
  7. linux 下 vi 文本编辑如何复制一行粘贴删除一行数据
  8. R语言绘制花瓣图flower plot
  9. 互联网公司GitHub repo 语言使用情况
  10. Redis锁的简单应用