Spring Boot 的 10 个核心模块

简介: 学习 Spring Boot 必须得了解它的核心模块,和 Spring 框架一样,Spring Boot 也是一个庞大的项目,也是由许多核心子模块组成的。

学习 Spring Boot 必须得了解它的核心模块,和 Spring 框架一样,Spring Boot 也是一个庞大的项目,也是由许多核心子模块组成的。

Spring Boot 的核心模块

下面我们大概来了解一下 Spring Boot 的核心模块。

1、spring-boot

这是 Spring Boot 的主模块,也是支持其他模块的核心模块,主要包含以下几点:

1) 提供了一个启动 Spring 应用的主类,并提供了一个相当方便的静态方法,它的主要是作用是负责创建和刷新 Spring 容器的上下文;

2) 内嵌式的并可自由选择搭配的 WEB 应用容器,如:Tomcat, Jetty, Undertow等;

3) 对配置外部化的支持;

4) 提供一个很方便的 Spring 容器上下文初始化器,包括合理记录日志默认参数的支持。

2、spring-boot-autoconfigure

Spring Boot能根据类路径下的内容自动一些公共大型应用,提供的 @EnableAutoConfiguration 注解就能启用 Spring 功能的自动配置。

自动配置功能可以推断用户可能需要加载哪些 Spring Bean, 如:如果类路径下有 HicariCP这个连接池的包,此时并未提供任何有效连接池的配置,那么 Spring Boot 就知道你可能需要一个连接池,并做相应配置。如果用户配置了其他连接池,那么 Spring Boot 会放弃自动配置。

3、spring-boot-starters

Starters,我们叫它启动器好了,它是包括一系列依赖的描述符。简单的说就是,它可以一站式的帮你打包 Spring 及相关技术应用,而不需要你到处找依赖和示例配置代码,它都帮你做好了。

例如,第一章我们在介绍 Spring Boot 的时候就说了 spring-boot-starter-web 这个启动器,你只要引用了这个启动器应用,就会自动配置 WEB 应用的能力。

spring-boot-starters 这个启动器这主要提供了 spring-boot, spring-context, spring-beans 这三个 Spring 模块而已。

4、spring-boot-cli

这是 Spring Boot 的命令行工具,用于编译和运行 Groovy 源程序,可以十分简单的编写并运行一个应用程序。它也能监控你的文件,一旦有变动就会自动重新编译和重新启动应用程序。

5、spring-boot-actuator

这是 Spring Boot 提供的执行端点,你可以更好的监控及和你的应用程序交互。这个模块提供了像健康端点、环境端点、Spring Bean端点等。

6、spring-boot-actuator-autoconfigure

这个原理同上,为 Spring Boot 执行端点提供自动配置。

7、spring-boot-test

Spring Boot测试模块,为应用测试提供了许多非常有用的核心功能。

8、spring-boot-test-autoconfigure

这个原理同上,为 Spring Boot 测试模块提供自动配置。

9、spring-boot-loader

这个模块可以用来构建一个单独可执行的 jar 包,使用 java -jar 就能直接运行。一般不会直接使用这个来打包,使用 Spring Boot 提供的 Maven 或者 Gradle 插件就行了。

10、spring-boot-devtools

开发者工具模块,主要为 Spring Boot 开发阶段提供一些特性,如修改了代码自动重启应用等。这个模块的功能是可选的,只限于本地开发阶段,当打成整包运行时这些功能会被禁用。

欢迎工作一到五年的Java工程师朋友们加入Java填坑之路:860113481

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

相关文章
|
6月前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
142 0
|
6月前
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
158 0
|
26天前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
44 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
1月前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
48 2
|
4月前
|
消息中间件 负载均衡 Java
最容易学会的springboot gralde spring cloud 多模块微服务项目
最容易学会的springboot gralde spring cloud 多模块微服务项目
|
5月前
|
运维 Java 关系型数据库
Spring运维之boot项目bean属性的绑定读取与校验
Spring运维之boot项目bean属性的绑定读取与校验
53 2
|
5月前
|
存储 运维 Java
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
59 2
|
5月前
|
Java Maven
springboot项目打jar包后,如何部署到服务器
springboot项目打jar包后,如何部署到服务器
415 1
|
5月前
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
53 1
|
5月前
|
监控 Java 关系型数据库
java版MES系统源码,后端采用 Spring Boot 多模块架构
MES系统采用Vue3的vue-element-plus-admin为后台,Spring Boot多模块架构,支持MySQL、Oracle等数据库,具备SaaS多租户功能。核心功能包括车间计划排程、工艺流程配置、生产质量管理、进度追踪、库存和排班管理等,全面覆盖生产运营关键环节。
java版MES系统源码,后端采用 Spring Boot 多模块架构