Spring Boot重要模块

Spring Boot项目已经托管在github上,https://github.com/spring-projects/spring-boot

以下是对该项目README.md文件的简单翻译,可从中了解Spring Boot提供哪些重要模块:

Spring Boot使得创建基于Spring的产品级的应用和服务变得很简单,他会使用最少的成本。它基于Spring的平台,无论是新的或者是老得用户都能快速的进行开发。

你可以使用Spring Boot创建独立的java应用使用java -jar启动,,或者更多传统的war包部署。我们也提供命令行工具Spring Boot CLI可以运行Spring的脚本。

我们的目标:

  • 快速构建
  • 开箱即用,也可以进行快速自定义适配
  • 提供大量非功能性的特性。(嵌入式的服务器,安全,度量,健康检查,外部化的配置)。
  • 完全没有代码生成,也不需要XML的配置

SpringBoot参考文档

 

从源码构建 Spring Boot

想要获取SpringBoot最新的特性,可以使用Maven Wapper对源代码进行构建。

模块

下面是Spring Boot 模块的介绍:

spring-booot

主要的库,提供Spring Boot其他部分的支持:

  • SpringApplication类,提供了静态便捷的run方法,让我们容易编写独立的Spring 应用。它唯一的工作就是创建并且刷新一个Spring ApplicationContext。
  • 可选择的嵌入式的web应用(Tomcat,Jetty,或Undertow),性能最好的是Undertow
  • 一级类外部化的配置支持,(把配置信息放在项目之外)
  • 便捷的ApplicationContext初始化器,包含日志的支持。

spring-boot-autoconfigure

Spring Boot可以基于classpath进行大量的常见应用的配置。只要添加@EnableAutoConfiguration注解就会触发Spring 上下文的自动装配

Auto-configuration会尝试推断用户需要哪些Beans。例如:如果HSQLDB在classpath中,并且用户没有配置任何的数据库连接,那么它可能想要一个内存数据库被定义。

Auto-configuration总是在用户主动定义的Beans的优先级之后。

spring-boot-starters

Starters是一些你能够包含在你应用中的便捷的依赖的描述符 。你可以获得一个一站式的商店针对所有的Spring和一些相关技术,无需再通过粘贴一些示例代码和加载依赖描述符。例如:如果你想要获得Spring和JPA对数据库进行访问,那么你只需要包含spring-boot-starter-data-jpa依赖到你的项目中,然后你就能够很好的运行。

spring-boot-cli

Spring命令行应用程序编译和运行Groovy源代码,使得编写更少的代码得到一个运行的应用程序变得超级简单。 Spring CLI还可以去观测文件,自动的重新编译,当文件改变的时候重新启动。

spring-boot-actuator

Actuator端点可以让你去监控并且与应用进行交互。Spring Boot Actuator为actuator端点提供了必要的基础设施。它包含了端点的注解支持,开箱即用。这个模块包含了大量的端点,包括了健康端点,环境端点,Beans端点和其他。

spring-boot-actuator-autoconfigure

它提供了端点的自动配置基于classpath的内容。比如,如果Micrometer在classpath上,他会自动配置MetricsEndpoint。他也包含了通过HTTP或者JMX的方式去公开端点。就像Spring Boot AutoConfigure,如果用户显示的配置他们的beans的话,这个自动配置就不会再起作用。

spring-boot-test

这个模块包含了测试相关的注解,用来测试你的应用。

spring-boot-test-autoconfigure

提供了基于classpath对test的自动配置

spring-boot-loader

提供了一种秘密的东西允许你构建一个单独的jar文件,通过java -jar命令来运行,一般的你不需要直接使用spring-boot-loader,但是需要在Gradle和Maven插件中使用。

spring-boot-devtools

提供了额外的开发阶段的特性,比如自动重启,更加平滑的开发体验。自动的被禁用,当我们运行一个完整的打包好的应用程序。

原文地址:https://www.cnblogs.com/fubinhnust/p/11930641.html