Spring Boot特性——改变Spring开发方式

Spring Boot提供了四个主要特性,能够改变开发Spring应用程序的的方式:

  • Spring Boot Starter:它将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或者Gradle中;
  • 自动配置:Spring Boot的自动配置特性利用了Spring4对条件化配置的支持,合理的推测应用所需的bean并自动化配置它们;
  • 命令行接口(Command-line interface,CLI):Spring Boot的CLI发挥了Groovy编程语言的优势,并结合自动配置进一步简化Spring应用的开发;
  • Actuator:它为Spring Boot应用添加了一定的管理特性

一、Spring Boot Starter依赖将所需的常见依赖按组聚集在一起,形成单条的依赖

    例如:

    

Starter所提供的依赖
spring-boot-starter-aopspring-boot-starter、spring-aop、AspectJ Runtime、AspectJ Weaver、spring-core
spring-boot-starter-jdbcspring-boot-starter、spring-jdbc、tomcat-jdbc、spring-tx

starter使用了Maven和Gradle的依赖传递方案,Starter在自己的pom.xml文件中声明了多个依赖。当我们将某一个依赖添加到Maven或Gradle构建中的时候,Starter的依赖将会自动的传递性解析。这些依赖本身可能也会有其他的依赖。一个Starter可能会传递性的引入几十个依赖

注意:很多Starter引用了其他的Starter,依赖是有传递性的。

二、自动配置

Spring Boot的Starter减少了构建中依赖列表的长度,而Spring Boot的自动配置功能则减少了Spring配置的数量。它在实现时,会考虑应用中的其他因素并推断你所需要的Spring配置。

如:将Thymeleaf添加到项目类路径中,Spring Boot探测到会自动配置Thymeleaf模板锁需要的bean。

Spring Boot Starter也会出发自动配置。

如:如果想使用Spring MVC,将Web Starter作为依赖构建,会自动添加Spring MVC的依赖。

三、Spring Boot CLI

Spring Boot CLI充分利用了Spring Boot Starter和自动配置的魔力,并添加了一些Groovy的功能。它简化了Spring的开发流程,通过CLI,我们能够运行一个或多个Groovy脚本,并查看它是如何运行的。在应用的运行过程中,CLI能够自动导入Spring类型并解析依赖。

四、Acuator

Spring Boot Acuator为Spring Boot项目带来了很多有用的特性,包括:

  • 管理端点;
  • 合理的异常处理以及默认的“/error”映射端点;
  • 获取应用信息的“/info”端点;
  • 当启用Spring Security时,会有一个审计事件框架;

Acuator最有用和最有意思的特性是管理端点。

如:

    GET /beans:列出运行应用所配置的bean;

    Get /dump:列出应用的线程,包括每个线程的栈跟踪信息;





阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭